首页 > TAG信息列表 > 解法
关于2020新高考一卷T23的一个解法
(可能书写格式不太规范) \((2)\) 证明: \(b\ln a-a\ln b=a - b\) \(\Rightarrow\frac{1}{a}(1-\ln \frac{1}{a})=\frac{1}{b}(1-\ln \frac{1}{b})\) 不妨设 \(\frac{1}{a}<\frac{1}{b}\) 由\((1)\)易知\(\frac{1}{a}\in (0,1),\frac{1}{b}\in (1,e)\) 记\(p(x)\)leetcode-数组中两元素的最大乘积
题目描述 给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。 请你计算并返回该式的最大值。 示例 1: 输入:nums = [3,4,5,2] 输出:12 解释:如果选择下标 i=1 和 j=2(下标从 0 开始),则可以获得最大值,(nums[1]-1)*(nums[2]-1) = (4-1)*(5-二叉树遍历方法总结
二叉树基本概念 面试的时候提到的树, 大部分都是二叉树. 所谓二叉树是树的一种特殊结构, 在二叉树中每个节点最多只能有两个子节点, 在二叉树中最重要的操作莫过于遍历, 即按照某一顺序访问树中的所有节点. 树的遍历方式 通常树有如下几种遍历方式: 前序遍历 中序遍历 后续遍历逆序对解法
例题 原题链接:https://www.acwing.com/problem/content/790/ 给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。 逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i<j 且 a[i]>a[j],则其为一个逆序对;否则不是。 暴力解法 不推荐,两重循环遍历,O(n^2)的复杂度,容易T最短路问题解法汇总
图论的最短路问题4种方法结合(亲测可过) dijkstra 算法 基础版,我认为对于算法思想很有帮助,但是性能一般(doge) #include<bits/stdc++.h> using namespace std; const int N=510,INF =0x3f3f3f3f; int n,m; //points and angles int g[N][N]; //邻接矩阵 int d[N]; //the distance fr某道多解的图论题
这道题好像挺不错的——至少在解法的多样性上,是很令人感到惊讶的。 问题 问题:给图 \(T=(V,E)\) 其中 \(V=\{1,2,\dots,n\}\),额外添加点 \(0\) 和边 \(E'=\{(0,i,a_i)\}\) 即每个点 \(i\) 与 \(0\) 之间连权值为 \(a_i\) 的边。动态修改 \(a_i\),请维护图的最小生成树的边权和。 显【ARC110F】Esoswap 题解
AtC 传送门:ARC110F 对于这类题目,看到之后就应该乱搞。 提供些各种各样的解法: 解法一:\(i\) 从 \(0\) 到 \(n-1\),对于每一个 \(i\) 都疯狂对这个位置进行换位操作,直到这个位置上的数是 \(0\) 或 \(i\)。(目前没有严谨证明。) 解法二:每次都在序列中寻找可以一次就交换成功的位置并交换计数专题
学霸题,数正方体! 杂题 一开始就是杂题。哈哈✌ MXOR(有改动) 题意 给定一堆数 \(a_i\)。要求数出有多少组 \(b_i\),满足 \(b_i\leq a_i\) ,且有 \(b_i\) 的异或和为 0 . \(1 \leq n \leq 10^5\) , \(0 \leq a_i \leq 2^{30}\) 解法 类似数位DP的解法。 枚举最高在多少位脱离控制,利一个题的N种解法
营救 这个题的大概意思:n个小区,m条路,每个路有一个拥挤值,从s到t,使拥挤值最大值的最小是多少 第一种解法 堆优化版dijkstra 将判断条件改一下就行 点击查看代码 #include <iostream> #include <queue> using namespace std; const int N = 1e4+10,M = 4e4+10; int h[N],ne[M],e[M]【题解】P3147 [USACO16OPEN]262144 P(DP)
【题解】P3147 [USACO16OPEN]262144 P 虽然是道绿题,但我还是挂/卡了很久,是道好题,写篇题解记录一下。 题目链接 P3147 [USACO16OPEN]262144 P - 洛谷 P3146 [USACO16OPEN]248 G - 洛谷 下面这道题是上面的弱化版,只是数据范围不同,但有一种解法只能通过 P3147,所以这里都以 P3147 为01背包问题四种可能解法
c++ 01 背包问题 /* * 0, 1 背包问题 * * 问题描述: * 有 n 件物品和一个容量是 m 的背包。每件物品只能使用一次。 * 第 i 件物品的体积是 vi,价值是 wi。 * 求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。 * 输出最大价值两数之和-python解法
题目描述 给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。 (注:返回的数组下标从1开始算起,保证target一定可以由数组里面2个数字相加得到) 要求:空间复杂度 O(n),时间复杂度 O(nlogn) 错误代码和思路 class Solution面试题_有序数组的二分法解法
剑指 Offer 53 - I. 在排序数组中查找数字 I 统计一个数字在排序数组中出现的次数。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例 2: 输入: nums = [5,7,7,8,8,10], target = 6 输出: 0 提示: 0 <= nums.length <= 105 -109 <= nums[i] <= 109 nums 是一个非递多项式 lnexp 暴力解法
设 \(A(x)=\exp(B(x)),B(x)=\ln (A(x))\) 对于两边求导 \[B'(x)=\frac{A'(x)}{A(x)} \]\[xB'(x)A(x)=xA'(x) \]\[nA_n=\sum_{i=1}^n iB_iA_{n-i} \]\[A(n)=\frac{1}{n}\sum_{i=1}^n iB_iA_{n-i} \]设 \(A(0)=x\) \[B(n)=(A_n-\frac{1}{n}\su关于pip报错的一种解法
在我使用pip的时候发现了报错 其实是因为我开了代理,把代理关闭后即可正常使用Codeforces Round #791 (Div. 2)
AB签得比较顺利,A题一个类似线性规划的问题,对比下解法我做得还是太复杂了,印象中这种类似的point在一次div2C里出现了没搞出来,那个线性规划好像复杂很多 C题又卡了,这次是真服了,题目都读错了在那瞎想了一个多小时,把or以为成and,最后读懂之后树状数组维护还是比较简单的,不过应该有更好LeeCode 942 增减字符串匹配
LeeCode 942 题目描述: 由范围 [0,n] 内所有整数组成的 n+1 个整数的排列序列可以表示为长度为 n 的字符串 s ,其中: 如果 perm[i] < perm[i + 1] ,那么 s[i] == 'I' 如果 perm[i] > perm[i + 1] ,那么 s[i] == 'D' 给定一个字符串 s ,重构排列 perm 并返回它。如果有多个有「数学」- 近期部分各地模拟卷浅谈
前言 返校回家上网课非常无聊,为了防止 emo,准备做做各地近期的模拟卷子,顺便简单说说自己的感想,如果有人看的话也许可以是一个预防踩雷向 post(? 为了保证做题体验,不会把明确的解法给出来(才不是懒,如果有 trick 很新颖的话会简单说一下 2022 济南一模 亲身参与的一场考试,由于阅卷人乱批力扣|题库|1-3
暴力解法 基础太差,打算做得越简单越好 1.两数之和 2.两数相加 3.无重复字符的最长子串将一个列表的数据复制到另一个列表中
#将一个列表的数据复制到另一个列表中。例如,将a列表的数据复制到b列表 a = [1,3,4,5,6,7,100]b = ['h','s','y','e'] #第一种解法:extend添加多个元素# b.extend(a)# print(b) #第二种解法:append 添加单个元素# for i in a:# b.append(i)# print(b) #第三种解法:+# b = a+b#最近公共祖先LCA 解法
附:邻接表存树 LCA问题简述 自己是自己的祖先 向上标记法 一般不用 从x向上走到根节点, 并标记路径上经过的点 从y向上走到根节点, 当遇到第一个被标记的点就找到了LCA(x, y) 倍增法 fa[i][j]表示从i开始,向上走2^j步所能走到的结点。0 <= j <= logn depth[i]表示深度 哨兵:如果从i数组的元素能加到的最大x倍数是多少?
描述 给出一个数组,给出一个x值,要求在数组中能够找到元素加起来的和是x的倍数,要求出最大能够得到的倍数 思路 首先自然是暴力解法 做的时候我尝试用递归去解决,但是超时了。 做的时候想到的另一个方法是动态规划,不过没深想,我动归的实践能力还是弱了些。 事后和被人讨论,有人给出了一P3391 【模板】文艺平衡树 解法
P3391 【模板】文艺平衡树splay解法1 #include <bits/stdc++.h> using namespace std; const int N = 100005; int ch[N][2], par[N], val[N], cnt[N], size[N], rev[N], root, ncnt; int n, m, x, y; void output(int x); bool chk(int x) { return ch[par[x]][1] == x; }蓝桥杯—密码发生器(C语言解法)
题目描述 输入输出样例 输入 5 zhangfeng wangximing jiujingfazi woaibeijingtiananmen haohaoxuexi 输出 772243 344836 297332 716652 875843 代码 #include<stdio.h> char ch[30]; int main(){ int n,i,len,sum; int num[10]={0};//存放处理后的字符的ask i i码值 sc打败算法 —— 移动零
本文参考 出自LeetCode上的题库 —— 移动零 https://leetcode-cn.com/problems/move-zeroes/ 移动零问题 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。注意 ,必须在不复制数组的情况下原地对数组进行操作 示例1:输入: nums = [0,1,0,