Codeforces
z岁月无声
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #782 (Div. 2)-D. Reverse Sort Sum
思路:树状数组原创 2022-07-30 03:15:05 · 300 阅读 · 1 评论 -
Codeforces Round #779 (Div. 2)-D2 - 388535 (Hard Version)
异或字典树的最大值Max和最小值Min,由于正确答案res^a[i]时会得到[l,r]区间,因此只要。来求得res,但直接暴力遍历会超时,可通过建立字典树,然后求。之中,那么可以通过遍历。首先答案res一定位于。...原创 2022-07-28 01:26:53 · 257 阅读 · 0 评论 -
Codeforces Round #791 (Div. 2)-D. Toss a Coin to Your Graph...
传送门:https://codeforces.com/contest/1679/problem/D思路:二分可以通过二分答案si,对于judge的判断,可通过对于所有不大于si的边重新构图,然后先找图中是否有环,有则true,没有则从入度为0的点开始BFS找最长的路径即可Code:#include<iostream>#include<algorithm>#include<vector>#include<queue>using namespac.原创 2022-05-26 18:31:18 · 177 阅读 · 0 评论 -
Codeforces Round #783 (Div. 2)-D. Optimal Partition
传送门:https://codeforces.com/contest/1668/problem/D思路:dp+树状数组, 参考博客https://www.cnblogs.com/Prgl/p/16169339.html需要注意dp初始化时需要把0先算上去,即假设数列的左边隐含着一个为0的元素做分割线Code:#include<iostream>#include<algorithm>#include<set>#include<unordered_map.原创 2022-05-18 02:13:10 · 155 阅读 · 0 评论 -
Educational Codeforces Round 125 (Rated for Div. 2)-D. For Gamers. By Gamers.
地址:https://codeforces.com/contest/1657/problem/D思路:要使得单位 i {di,hi}能够战胜怪兽{Di,Hi},有 Hidi>hiDi\frac{Hi}{di}>\frac{hi}{Di}diHi>Dihi,即 hi∗di>Hi∗Dihi*di > Hi*Dihi∗di>Hi∗Di ,而x个单位i战胜怪兽而不是死掉一个单位,即 i∗hi∗di>Hi∗Dii * hi * di > Hi * Dii∗hi∗.原创 2022-04-15 21:57:36 · 302 阅读 · 0 评论 -
Codeforces Round #668 (Div. 2)-C. Balanced Bitstring
地址:http://codeforces.com/contest/1405/problem/C思路:参考博客:https://blog.csdn.net/hzf0701/article/details/108439484对于子串a[0,k-1],a[1,k],两者满足条件,则必须满足a[0]=a[k],而对于相邻子串a[x,x+k-1],a[x+1,x+k]则必须满足 a[x]==a[x+k],因此对于所有子串有满足a[x%k]=a[x],且第一个子串a[0,k-1]合法即可Code:#..原创 2020-11-11 00:50:37 · 164 阅读 · 0 评论 -
Educational Codeforces Round 90 (Rated for Div. 2) A,B,C,D题解
地址:https://codeforces.com/contest/1373A. Donut Shops思路:只卖一个物品时比较a和c的大小即可得到res1,再买b个物品时比较a*b和c的大小即可得到res2Code:#include<iostream>using namespace std;typedef long long LL; int main(){ ios::sync_with_stdio(false); int T; LL a,b,c,r原创 2020-07-13 01:11:46 · 231 阅读 · 0 评论 -
Codeforces Round #563 (Div. 2)-E. Ehab and the Expected GCD Problem
地址:https://codeforces.com/contest/1174/problem/E思路:dp 官方题解https://codeforces.com/blog/entry/67388我们称一个好的置换中的第一个元素为s。那么,s必须有最大可能的质因数个数。此外,每次在移动前缀时更改gcd时,必须只从其中删除一个素数除数。这样,可以保证我们有尽可能多的不同的gcds。现...原创 2019-06-05 10:55:05 · 369 阅读 · 0 评论 -
Codeforces Round #558 (Div. 2)-C2
地址:https://codeforces.com/contest/1163/problem/C2思路:求两两相交线的数量,那么可以先求出所有不重合线的数量s,对每条线考虑,对于每条线的相交线的数量,就是全部线的数量s-与其平行的线的数量。 而求所有线的数量s,可以直线方程 ax+by+c=0中的a,b,c来唯一确定,其中a,b确定平行线的数量,可以map<pair<int,i...原创 2019-05-16 12:18:41 · 183 阅读 · 0 评论 -
Codeforces Round #560 (Div. 3)-题解
地址:https://codeforces.com/contest/1165A. Remainder思路:后x位中,其中只有后第y+1位为1,其余全是0才是合法,因此根据这个来判断后x位不合法的个数即可Code:#include<iostream>#include<algorithm>using namespace std;typedef long ...原创 2019-05-16 13:32:57 · 224 阅读 · 0 评论 -
Codeforces Round #558 (Div. 2)-B2
地址:https://codeforces.com/contest/1163/problem/B2思路:从4分钟过了A题,然后来做B题,结果TM题目理解错了,题目意思是前k个去掉某一个后剩余的各颜色个数必须相同,同样颜色可以不连续,我TM因为相同颜色必须连续,结果样例也解释的通。。。 然后就炸了,唉,又掉分(T_T)还是比较麻烦的,可以遍历a[i]记录各颜色出现的次数 d[i] 以及出...原创 2019-05-11 10:53:17 · 228 阅读 · 0 评论 -
Codeforces Round #561 (Div. 2)-E. The LCMs Must be Large
地址:https://codeforces.com/contest/1166/problem/E思路:比赛时,D,E两题都不会写,然后抱着试一试的态度对E分析,对于第i天,若其他天与该天是没有重合的,那么很明显是不合法的即"impossible",因此试着交了一发,结果过了,hhh,果断就是白给,加分美滋滋( ̄▽ ̄)~*关于任意两天都有交集就一定有解 大佬博客:https://www...原创 2019-05-20 01:03:46 · 280 阅读 · 0 评论 -
Codeforces Round #561 (Div. 2)-D. Cute Sequences
地址:https://codeforces.com/contest/1166/problem/D思路:构造题。可以推出 2^p*(a+x)=b; x=[1,m],那么可以先遍历 p 找出 2^p*(a+m)<=b的最大值p1,在二分找出2^p1*(a+x)<=b的最大x1,当 x=0说明不能构造,否则得到 余数p=b-2^p1*(a+x1); 而a,b之间隔了 p1个数,每个数...原创 2019-05-20 00:43:12 · 354 阅读 · 0 评论 -
Educational Codeforces Round 65 (Rated for Div. 2)-F. Scalar Queries
地址:https://codeforces.com/contest/1167/problem/F思路:这种题让我想破脑袋也想不出来啊QAQ 参考大佬的博客orzhttps://www.cnblogs.com/xyq0220/p/10876031.htmlhttps://www.cnblogs.com/carcar/p/10877964.html说说我的理解。对于每个a[i]...原创 2019-05-19 22:15:54 · 256 阅读 · 0 评论 -
Educational Codeforces Round 65 (Rated for Div. 2)-E-Range Deleting
地址:https://codeforces.com/contest/1167/problem/E思路:保存下标对其由小到大排序,当序列其原下标也是由小到大排序的才是合法的。因此对于删除区间[l,r] 是可以枚举 l, 在找出合法序列的最小值 r 的,写起来有些麻烦,先找出 l 最大可以枚举到的位置L,已经右区间r最左边的合法处R。那么在枚举l时更新R使其序列合法即可。可以看看这位大佬的...原创 2019-05-19 19:19:13 · 210 阅读 · 0 评论 -
Educational Codeforces Round 66 (Rated for Div. 2)-D. Array Splitting
地址:https://codeforces.com/contest/1175/problem/D思路:思维题,计算其后缀和a[i],对于划分为第x-1组和第x组,在计算第x-1组时,相当于将第x组也计算了一遍,因此只要取a[1]和a[2->n]中的前k-1大值即可Code:#include<iostream>#include<algorithm>...原创 2019-06-06 15:12:32 · 271 阅读 · 0 评论 -
Codeforces Round #567 (Div. 2)-D. Irrigation
地址:https://codeforces.com/contest/1181/problem/D思路:思维+树状数组+二分查找先将城市举办次数以及Q个查询的次数由小到大排序。对于城市举办次数每次从低层次到高层次依次增高,依次只要遍历城市,每次将同一高度的上升的下一高度即可,记录此时的总举办次数Max,同时判断查询是否在Max之内,在则判断是在第几个城市ans,而城市举办次数相同时要按照...原创 2019-06-19 14:47:02 · 289 阅读 · 0 评论 -
Codeforces Global Round 1-D. Jongmah
地址:https://codeforces.com/contest/1110/problem/D思路:DP,唉,我好菜啊,这么简单的DP愣是写不出来QAQ大佬博客:https://www.cnblogs.com/pkgunboat/p/10356117.html解析:首先记录每个数的个数a[x], 容易推出(x, x + 1, x + 2)的个数最多只有2个dp[i][j][k...原创 2019-06-03 16:59:18 · 234 阅读 · 0 评论 -
Educational Codeforces Round 49 (Rated for Div. 2)-C. Minimum Value Rectangle
地址:http://codeforces.com/contest/1027/problem/C思路:由 p^2/s = 4*(a+b)*(a+b)/(a*b)= 8+4*(a*a+b*b)/(a*b) ,将 a[]由小到大排序,遍历A[n]数组,找最小的比值,容易知道只当a=b时有最小比值,当a!=b时,设a<b 需要找相邻的a,b即可(因为当a相同,推出 a*a<b*b1,又...原创 2018-08-19 21:05:04 · 180 阅读 · 0 评论 -
Codeforces Round #582 (Div. 3)-G. Path Queries
地址:http://codeforces.com/contest/1213/problem/G思路:并查集+离线查询对于m个查询,先将其由小到大排序,这样就能保证后面的答案一定包含前面的答案。再将所有边按照权值wi由小到大排序,对于第i小的查询ti,将wi<ti的边合并,其边所贡献的答案为 边两边所在集合的乘积 d[a]*d[b]Code:#include<i...原创 2019-09-06 13:30:31 · 169 阅读 · 0 评论 -
Codeforces Round #571 (Div. 2)-C. Vus the Cossack and Strings
地址:http://codeforces.com/contest/1186/problem/C思路:enn...想不到,还是思维太常规了,借鉴博客:https://www.cnblogs.com/DreamACMer/p/11107034.html由于只需要求01不同个数的奇偶数,因此可以用异或来求解Code:#include<iostream>using ...原创 2019-06-30 20:36:06 · 605 阅读 · 0 评论 -
Codeforces Round #566 (Div. 2)-E. Product Oriented Recurrence
地址:https://codeforces.com/contest/1182/problem/E思路:矩阵快速幂fn=c^(2n−6)⋅f(n−1)⋅f(n−2)⋅f(n−3)=c^sc * f1^s1 * f2^s2 * f3^s3因此分别算出s1,s2,s3和sc的值即可算出 fn而由f4开始按照fn=c^(2n−6)⋅f(n−1)⋅f(n−2)⋅f(n−3)=c^sc *...原创 2019-06-12 13:20:10 · 468 阅读 · 0 评论 -
Codeforces Round #563 (Div. 2)-F. Ehab and the Big Finale
地址:https://codeforces.com/contest/1174/problem/F思路:思维+分治官方题解:https://codeforces.com/blog/entry/67388Code:#include<iostream>#include<algorithm>#include<cstdio>#include&l...原创 2019-06-04 22:38:23 · 168 阅读 · 0 评论 -
Codeforces Round #563 (Div. 2)-D. Ehab and the Expected XOR Problem
地址:https://codeforces.com/contest/1174/problem/D思路:这题秒啊,题目要求构造数组a[],要求其子串异或不能为0或x,那么它的前缀异或数组d[],则d[i]的特点为两两不相等且d[i]不为0或x,这样就转换为求 前缀异或数组d[],而d[]可以遍历 [1-2^n) ,或取 i,则 异或值 i^x 不能取,这样就能得到d[],再由d[]转换为...原创 2019-06-04 11:53:10 · 278 阅读 · 0 评论 -
Codeforces Global Round 1-E. Magic Stones
地址:https://codeforces.com/contest/1110/problem/E思路:这题太强了,想不到想不到orz 大佬博客https://blog.csdn.net/PinappleMi/article/details/86775268Code:#include<iostream>#include<algorithm>using ...原创 2019-06-03 18:15:28 · 275 阅读 · 0 评论 -
Educational Codeforces Round 66 (Rated for Div. 2)-E. Minimal Segment Cover
地址:https://codeforces.com/contest/1175/problem/E思路:倍增DPdp[i][j]表示以i为起点走 2^j 条线段能够到达的最远位置,那么dp[i][j]=dp[dp[i][j-1]][j-1]对于每次询问,j由大到小判断即可Code:#include<iostream>#include<cstdio&g...原创 2019-06-09 20:18:14 · 150 阅读 · 0 评论 -
Educational Codeforces Round 63 (Rated for Div. 2)-D
地址:http://codeforces.com/contest/1155/problem/D思路:DPDP1:前缀和+DP选择区间=左边不改变区间L[i]+中间改变区间+右边不改变区间R[i] (区间可为空)L[i]: 前i个元素中以第i元素结尾的不变化区间的最大值R[i]: 后n-i个元素中以第i元素开始的不变换区间的最大值dp[i]:L[i]+中间改变区间dp[...原创 2019-04-23 16:39:10 · 172 阅读 · 0 评论 -
Educational Codeforces Round 64 (Rated for Div. 2) 题解A-E
地址:http://codeforces.com/contest/1156做了前3题,好不容易可以上分,结果不评分,有点难受。。A. Inscribed Figures思路:题目有点长。。,然后看了一半就直接看样例了(还是样例容易看懂),wa了一次,注意 3-1-2的情况有一个点是重合了Code:#include<iostream>#include&...原创 2019-05-02 18:10:40 · 374 阅读 · 0 评论 -
Codeforces Round #515 (Div. 3)-F. Yet another 2D Walking
地址:http://codeforces.com/contest/1066/problem/F思路:贪心+DP:对于同一层的点,最佳的路线是从一端0走到另一端1,只要的选择是两层间的走法,只有四种走法,分别是从一层两端到另一层两端的走法。因此先求出所有层的步数,在用dp[i][j]来表示到第i层时在j端时的最小步数Code:#include<iostream>#in...原创 2018-10-17 21:06:32 · 417 阅读 · 0 评论 -
Codeforces Round #511 (Div. 2)-C. Enlarge GCD
地址:http://codeforces.com/contest/1047/problem/C思路:从公共最大公约数+1开始枚举最大公约数 i 的元素个数s,取最大的s即可,枚举时将 i的倍数标记,标记的就不需要在枚举了。这样的时间复杂度为 O(max{ai}) Code :#include<iostream>#include<cstdio>using...原创 2018-09-25 12:35:00 · 307 阅读 · 0 评论 -
CF-Educational Codeforces Round 50 (Rated for Div. 2) -C. Classy Numbers
地址:http://codeforces.com/contest/1036/problem/C思路:开始是想直接求1->L和1->R的个数,结果分析起来很麻烦,后来看别人的代码分析是先直接将所有的满足条件的数全部找出来。。。还是太差了QAQCode:#include<iostream>#include<algorithm>#include&...原创 2018-09-08 17:08:56 · 339 阅读 · 0 评论 -
CF-AIM Tech Round 5 (rated, Div. 1 + Div. 2)-C. Rectangles
地址:http://codeforces.com/contest/1028/problem/C思路:求n个区域中n-1个区域的交点,那么说明只有一个错误区域要排除掉,那么可以从头开始和从尾开始各自遍历一遍,找其有公共点的区域个数并不断缩小公共区域范围即可,这样总会有一次能够将错误区域排除掉,例如当从头开始遍历将错误区域也算在里面,导致后面的区域没有公共点时,那么从尾开始遍历就会先求后面的区...原创 2018-08-29 14:43:20 · 220 阅读 · 0 评论 -
Codeforces Round #377 (Div. 2)-D. Exams
地址:http://codeforces.com/contest/732/problem/D思路:开始我考虑从头开始遍历,发现这样根本行不通,然后从后考虑发现是可以判断是否可以考完全部课程,而n<=10^5,因此可以二分答案来求解。 在二分答案 h 时,首先将 sp=所有考试所需要的休息天数和,s=考试课程数,p=0,由a[h]到a[1]遍历,当发现有一门课 t 没有考时,sp-=休...原创 2018-08-20 18:28:23 · 146 阅读 · 0 评论 -
Educational Codeforces Round 6-D. Professor GukiZ and Two Arrays
地址:http://codeforces.com/contest/620/problem/D思路:对于交换0可以直接判断,1次可以将b[]保留下标并按值由小到大排序,在二分查找,即a[],b[]的总和差值ss,对b[]查找a[i]-ss/2的值即可,而对于2次交换,可以将b[]的所有组合情况保存在二分即可Code :#include<iostream>#includ...原创 2018-08-27 15:28:32 · 179 阅读 · 0 评论 -
Educational Codeforces Round 49 (Rated for Div. 2)-D. Mouse Hunt
思路:此题为一个图,由样例不难推出对于最小花费应该是每个树的根节点值和环的最小节点值,因此对于树的根节点可以用并查集来求得,而对于环,可以先用拓扑排序将环找出来,在DFS查找环的最小节点值即可Code :#include<iostream>#include<vector>#include<stack>using namespace std;...原创 2018-08-19 18:41:11 · 262 阅读 · 0 评论 -
Codeforces Round #213 (Div. 2)-D. Free Market
地址:http://codeforces.com/problemset/problem/365/D思路:贪心,思想十分巧妙(只可意会不可言传QAQ),先将所有能够到达的状态先做标记,在从sum=0开始每次取 (sum,sum+d]的最大状态,同时记录搜索次数s,这样到搜索不到时,sum,s即为答案。Code :#include<iostream>#include&l...原创 2018-08-19 16:55:28 · 289 阅读 · 0 评论 -
Codeforces Round #211 (Div. 2)-D. Renting Bikes
题目地址:http://codeforces.com/contest/363/problem/D思路:贪心+二分。对于可购买的最多的单车数量s,可以对其进行二分查找求出s,首先将学生个人钱a[n]进行由大到小排序,单车价格d[m]由小到大排序,当查找数为h时,按照贪心思想,应由学生钱多的前h个去买 单车价格小的前h辆,这样即可判断是否能够买h辆车,对于买s辆车学生个人钱花费最小值 ...原创 2018-08-03 13:32:22 · 137 阅读 · 0 评论 -
Codeforces-Codeforces Round #437 (Div. 2, based on MemSQL Start[c]UP 3.0 - Round 2)-E. Buy Low Sell
思路:很巧妙的贪心+优先队列。对于每天的股票,可以预先将其加入优先队列Q(小的优先),只要遇到较大的就卖掉,但是不一定是最终卖出价格,例如 3 6 7 12,按照贪心 以3买6卖,7买13卖的收入为8 ,但以 3买7卖,6买12卖则为10,因此可以将a[i]入两次队列,这样就可以通过两个6来达到最佳收入10。Code :#include<iostream>#includ...原创 2018-08-02 21:36:26 · 288 阅读 · 0 评论 -
Codeforces Round #401 (Div. 2)-E. Hanoi Factory
题目地址:http://codeforces.com/contest/777/problem/E思路:贪心+单调栈。对于塔的建造,a[j]放在a[i]上面必须是 内环a[i].l<a[j].r<a[i].r 外环,可以先将a[n]按照外环r由大到小排序,当r相同时,由塔建造条件可知应该将 内环l小的放在上面,因此r相同时,l大的排在前面。遍历a[i],将建造塔的a[i]放入...原创 2018-08-03 16:35:39 · 184 阅读 · 0 评论 -
Codeforces Round #514 (Div. 2)-D. Nature Reserve
地址:http://codeforces.com/contest/1059/problem/D思路:题目大意为找与x轴相切并且包含所有点的圆的最小半径。一,对半径r二分,由于圆与x轴相切,圆心(x,y)中y=r,那么只要看x是否存在即可,对于每一个点找其为圆心,半径为r时在y=r直线上的范围,最后看所有的点是否有公共范围即可二,对圆心(x,y)中x进行三分,x一定在所有点的x范围[...原创 2018-10-14 14:38:17 · 257 阅读 · 0 评论