![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
每日一题
每日一题
Oxygen404
这个作者很懒,什么都没留下…
展开
-
10月vj刷题
A - Trading Business题意:n个星球,每个星球m个商品,在每个星球最多买k个物品,ai成本,bi售价,ci商品数量。从一个星球买,一个星球卖,求最大利润思路:枚举从哪个星球买,哪个星球卖(可以在同一个星球)#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<string> #include<queue&原创 2020-10-10 21:24:57 · 434 阅读 · 0 评论 -
P2574 XOR的艺术 | 洛谷
P2574 XOR的艺术AKN 觉得第一题太水了,不屑于写第一题,所以他又玩起了新的游戏。在游戏中,他发现,这个游戏的伤害计算有一个规律,规律如下拥有一个伤害串,是一个长度为 nn 的只含字符 0 和字符 1 的字符串。规定这个字符串的首字符是第一个字符,即下标从 11 开始。给定一个范围 [l,~r][l, r],伤害为伤害串的这个范围内中字符 1 的个数会修改伤害串中的数值,修改的方法...原创 2020-04-27 19:49:46 · 159 阅读 · 0 评论 -
线段树
概念线段树是一种二叉搜索树,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。(二叉搜索树:若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值;)使用线段树可以快速的查找某一个节点在若干条线段中出现的次数,时间复杂度为O(logN)建立一个线段树void build(int i,int l,in...原创 2020-04-15 22:21:49 · 131 阅读 · 0 评论 -
Codeforces Round #628 (Div. 2)
D. Ehab the XorcistGiven 2 integers u and v, find the shortest array such that bitwise-xor of its elements is u, and the sum of its elements is v.InputThe only line contains 2 integers u and v (0≤u...原创 2020-03-15 15:41:15 · 344 阅读 · 0 评论 -
区间dp
概念区间dp就是在区间上进行动态规划,求解一段区间上的最优解。主要是通过合并小区间的 最优解进而得出整个大区间上最优解的dp算法。借鉴大佬总结:猛戳过程区间dp的过程其实就是三步(就是三个for循环)区间长度==>起始点==>分割点从求小区间的最优解,再合并小区间到大区间。状态转移方程dp[i][j]表示从i到j区间的最优解,所以一般情况下要得到的结果就是dp[1][n...原创 2020-03-01 13:54:50 · 162 阅读 · 0 评论 -
大一测试(做题总结)
A-A国际性大新闻,某国有5种兵种了。实力强悍,已经要撼动5常的地位了。这五种兵种分别用’x’,‘t’,‘C’,‘p’,'c’来表示。现在某国正在进行国际性的阅兵。阅兵队列呈一字排开,现在问你,这个阅兵队列中,有多少个"xtCpc"这样的子序列Inputn (1<= n <= 2*10^5)长度为n的字符串Output输出多少个子序列Sample Input10x...原创 2020-02-23 14:48:56 · 305 阅读 · 0 评论 -
二叉堆
二叉堆二叉堆的实质是完全二叉树。二叉堆有两种:最大堆和最小堆。最大堆是指父节点值总是大于或等于任何一个子节点的值。而最小堆恰恰相反,指的是父节点值总是小于任何一个子节点的值。这就是应该最小堆操作push 插入元素top 取出元素(但不删除)pop 删除元素数组实现int q[1010];int size=0;//堆里面的元素个数STL实现头文件:#include<...原创 2020-02-06 17:53:35 · 425 阅读 · 0 评论 -
快速乘
每种数据都有一定的范围,这导致乘法有时候会溢出,所以需要用到快速乘来高效完成乘法运算并且不会溢出。求导过程求12*11的值12*11=12*1011(2)=12*2^3*1+12*2^2*0+12*2^1+12*2^0=96+24+12=132上式先把11转换为二进制1011(2),然后再用进制转换公式把1011展开,通过乘法分配律将乘法的结果拆成多个数的和,最后求合得答案。快速乘算法...原创 2020-02-04 00:12:09 · 216 阅读 · 0 评论 -
字符串哈希
哈希原创 2020-02-01 21:10:28 · 480 阅读 · 0 评论 -
单调栈
单调栈一个单调递增(递减)的栈。在题目应用中主要是对栈的维护,通过判断和出入栈操作对栈进行维护,使之保持单调的状态。一个单调递减栈的例子:进栈元素分别为3,4,2,6,4,5,2,33进栈:(3)3出栈,4进栈:(4)2进栈:(4,2)2出栈,4出栈,6进栈:(6)4进栈:(6,4)4出栈,5进栈:(6,5)2进栈:(6,5,2)2出栈,3进栈:(6,5,3)...原创 2020-01-30 19:07:45 · 183 阅读 · 0 评论 -
并查集
并查集就是最开始又N个集合,这N个集合当中有一部分集合存在关联,就可以把有关联的集合合并在一起,这个关联也可以间接建立,所以要查找是否间接存在关联,最后得出剩余的集合数。题目描述有n个人,编号1-n。现在有一个舞会,在舞会上,大家会相互介绍自己的朋友。即: 如果a认识b,b认识c。那么在舞会上,a就会通过b认识到c。现在,给出m个关系每个关系描述:a b表示 编号为a和编号为b的人...原创 2020-01-23 19:49:23 · 169 阅读 · 0 评论 -
尺取法
尺取法思路保存已知数组的两个下标(起点 终点),根据实际情况向右推进这两个下标,直到符合题意,得出答案。题目描述冬日里的一抹暖阳总是能给人们留下深刻的记忆,人们喜爱冬天的太阳,就跟人们喜爱冬天的火锅一般。寒冷的冬天总会让人想起火锅,最近小Z特别想去吃火锅,刚好某家转转火锅刚开业有活动,有n盘火锅围成一个圈,第一盘和最后一盘是相连的,每一盘火锅都有一个价值a[i],现在可以吃连续的m盘火锅...原创 2020-01-18 10:03:54 · 220 阅读 · 0 评论 -
快速幂、快速幂取模
在写acm题的时候会碰到求一个数X的N次幂,通常这种题就会要用到快速幂算法。比如求2^n(1<=n<=1000000)。最开始我想的办法就是用循环暴力求解,简单粗暴。int ans=1;for(int i=1;i<=n;i++){ ans*=i;}printf("%d\n",ans);但是这里的n值有10e6.这样求解肯定就时间超限了。所以就我就学习了快速幂...原创 2020-01-15 21:52:00 · 362 阅读 · 0 评论