
cf
骡马市逃跑的荠菜
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Codeforces Round #560 (Div. 3) F2. Microtransactions (hard version)补题(二分+贪心)
题目:F2. Microtransactions (hard version)题意商店一共有n种商品, 这些商品如果是在售 则需要一金币,否则需要二金币 。一个人每天早上可以得到一块钱,晚上可以用这些钱买一些商品。对于这n件物品,第i件需要买k[i]件。有m个在售优惠,d[i],t[i]表示若在d[i]天买种类t[i]的商品,则需要1块钱。求最少天数买完所需的商品。题解二分,从大到小来枚举第x天是否能买完就行。如果第x天可以买完,那么超过x天肯定也可以买完,所以再缩小x,否则扩大x。判断第x天是否原创 2021-02-04 18:15:11 · 215 阅读 · 0 评论 -
Codeforces Round #554 (Div. 2) E. Neko and Flashback补题(欧拉路径)
题目:E. Neko and Flashback题意有一个1~n-1的排列p 和数组a定义数组b,c,b’,c’:b[i]=min(a[i],a[i+1])c[i]=max(c[i],c[i+1])b’[i]=b[ p[i] ]c’[i]=c[ p[i ]]给定b’和c’,问是否存在原数组a满足给定的数组。题解之前做过一次欧拉通路的题目,但是时间久远已经没有什么印象了,补充一下相关知识。(参考文章)根据题目可知,bi一定是小于等于ci的,所以只要bi>ci则直接输出-1。bi和c原创 2021-01-24 21:26:52 · 246 阅读 · 0 评论 -
Codeforces Round #554 (Div. 2) D. Neko and Aki’s Prank补题(DP)
题目:D. Neko and Aki’s Prank题意给出n对括号,由这些括号构成长度为2*n的合法括号序列构成的字典树,给这个字典树染色,要求相邻的边不能同时被染色,求最多可染多少条边。题解想不出来,我没啥想法。。。参考博客:看了半天找到的解释较为清晰的大佬思路长度为x,不平衡度为y的子树染色方案数相同实际是指,所有有效括号序列中从第一个位置到第x个位置所包含的“(”和“)”数量若是相同的话,接下来可以构造的字典树子树的情况是相同的,画图可以更好理解。该篇文章中的color[x][y]根节原创 2021-01-23 23:16:53 · 169 阅读 · 0 评论 -
Codeforces Round #554 (Div. 2) C. Neko does Maths补题(数学)
题目:C. Neko does Maths题意给出两个数a,b,求最小的非负数k使得a+k和b+k的最小公倍数最小。题解div2!!C题!!我一点想法都没有!!!参考:大佬的思路(Ps:有一处错误,k=因子-x%因子)ac代码:#include<iostream>#include<iomanip>#include<cstring>#include<cstdio>#include<cmath>#include<queue原创 2021-01-23 19:41:46 · 140 阅读 · 0 评论 -
Codeforces Round #506 (Div. 3) F. Multicolored Markers补题(数学思维)
题目:F. Multicolored Markers题意有a个红色正方形,b个蓝色正方形,要求这a+b个正方形需构成长方形且其中的必须有所有的红色块或者所有的蓝色块也构成一个长方形。求该大长方形的最小长度。题解有所学知识可以判断,长方形的面积一定,长方形的长宽越相近,长方形的周长越小,设大长方形的长度为j,宽度为i,小长方形的长度为ml,i从1开始到sqrt©遍历,遍历过程中小长方形的长度ml也在不断减小。只要找到c%i==0&&j>=ml的这些的最大的i即可。ac代码:#原创 2021-01-22 21:08:41 · 123 阅读 · 0 评论 -
Codeforces Round #506 (Div. 3) E. Tree with Small Distances(树形DP)补题
题目:E. Tree with Small Distances题意给出一颗具有n个顶点的无向树,增加最小的边数量,使从根结点1到任意顶点的最短路径长度不超过2.题解先用树形dp求出每个结点到根结点1的路径长度,最后按路径长度从大到小排序,将路径长度大于2的结点的父节点与根结点相连,修改次数则加一,最后求出修改总次数。ac代码:#include<iostream>#include<iomanip>#include<cstring>#include<c原创 2021-01-22 20:07:56 · 163 阅读 · 0 评论 -
Codeforces Round #535 (Div. 3) F. MST Unification补题
题目:F. MST Unification题意给出一个无向带权连通图,在不改变原来最小生成树权值的条件下,可以将任意的几条边的权值加1,操作次数不限,要求获得的最小生成树是唯一的,求出最小需要改变的次数。题解参考:https://www.cnblogs.com/shuaihui520/p/10320158.htmlac代码:#include<iostream>#include<iomanip>#include<cstring>#include<cs原创 2021-01-16 15:23:30 · 125 阅读 · 0 评论 -
Codeforces Round #535 (Div. 3) E2. Array and Segments (Hard version)补题
题目:E2. Array and Segments (Hard version)题意给含有n个元素的数组a,给出m个可供选择的数组段,若选择一个数组段,则该段的数组元素都要减1,选择若干数组段,找出更新之后的的数组a的最大最小元素的最大差值。题解线段树,第一遍没有仔细思考,以为只要选择所有包含最小元素的数组段即可,错在了第15个测试数据。在仔细思考之后,发现如果有其他元素包含的数组段都选择之后,可能最后该元素的值会变得更小。代码1(wa15):#include<iostream>#原创 2021-01-15 19:59:56 · 133 阅读 · 0 评论 -
codeforces-Good Bye 2020 E.Apollo versus Pan补题
题目:E.Apollo versus Pan题意题解对于每个数,求出其与所有数&后的和,用a表示,同时求其与所有数|后的和,用b表示。在处理&运算的过程中,对于每一个xi,其二进制中每一位为1的位置找出该位置上为1的数有多少个,再计算这一位上的贡献度;在处理|运算的过程中,对于每一个xi,分别处理其二进制中每一位为1的位数和每一位为0的位数来求其在这一位上的贡献度。例:x[i]=100110&运算:a+=(1<<6-1)*cnt[6]+(1<<3-原创 2021-01-03 15:23:59 · 199 阅读 · 0 评论