cf
文章平均质量分 70
蜗角虚名羊
这个作者很懒,什么都没留下…
展开
-
cf57E - Chess
题目 一中模拟赛T3题解:先暴力,求出<500的答案,然后剩下的可通过二阶等差数列计算。 有些人可能要问:为什么要先暴力500?因为500前不太稳定,有几个二阶公差不符合大部分的规律,500是完全安全的。 至于怎么证明:我不会。。。自己思考吧标程://a为一阶公差,d为二阶公差,a用了滚动数组优化#include<bits/stdc++.h>us...原创 2018-05-19 15:34:53 · 260 阅读 · 0 评论 -
Codeforces13C. Sequence
题目Solution1.dp变化后的每一个值肯定是等于原来序列的某个值(不会证)(a为原序列,b为排序后的序列),方程的意思是,把序列前i个数变为非递减序列并且以不超过b[j]的值结尾的最小花费,那么它要么是以不超过b[j-1]结尾的最小花费,或者是刚好以b[j]结尾的最小花费#include<bits/stdc++.h>using namespace std;int n...原创 2018-12-23 22:13:53 · 318 阅读 · 0 评论 -
51nod 2206 低买高卖&codeforces867E Buy Low Sell High
题目Solution用堆保存最小值,遇到大于堆顶的元素就把ans加上差值,然后这个元素入队两次,入队两次是为了有一次“后悔”的机会,也就是先选着,遇到更好的就替换掉Code#include<bits/stdc++.h>using namespace std;int i,ans,x,n;priority_queue<int,vector<int>,grea...原创 2018-12-20 23:27:33 · 505 阅读 · 1 评论 -
Codeforces 903F Clear The Matrix
题目题解题意:给定一个4×n的长方形网格,其中一些是’∗*∗’,一些是’...’。可以进行若干次清理操作,每次选择一个大小为k×k(1⩽k⩽4)k×k(1⩽k⩽4)k×k(1⩽k⩽4)的正方形网格,将其中的‘∗*∗’变为‘...’,花费aka_kak。问,将所有网格都变为‘...’的最小花费。Solution由于选择4×4的网格进行清理的时候,相当于强行转移阶段,剩下的就是1⩽k⩽3的情...转载 2018-10-29 11:25:50 · 172 阅读 · 0 评论 -
Codeforces 1042F. Leaf Sets
题目题解Solution把子树拆成几条链,每次合并短的几条链Code#include<bits/stdc++.h>using namespace std;const int N=1000001;struct node{ int to,ne;}e[N<<1];int n,m,i,x,y,d[N],tot,h[N],ans;inline char gc(...转载 2018-10-31 07:44:59 · 126 阅读 · 0 评论 -
Codeforces 723E. One-Way Reform
题目题意:将无向图转为有向图,并且出度等于入度的点的数目最大。输出具体方案。保证无重边无自环Solution根据之前欧拉回路的知识:对于有向图,只有所有点的出度和入度都相等的图才有欧拉回路。这正和题目要求的出度和入度都相等的点尽量多类似,于是我们可以把这张图的所有奇点两两连一条边,使得连完边之后的图存在欧拉回路。直接跑欧拉回路,根据经过的边定向即可。可以发现这种方法达到了答案的上界,所...原创 2018-10-25 10:38:17 · 173 阅读 · 0 评论 -
Codeforces 542E. Playing on Graph
题目Solution可以发现,奇环-&gt;奇环+偶环;偶环-&gt;奇环+奇环或偶环+偶环(单独一条边看作偶环)所以奇环最终一定会变成三元环,而三元环是无解的,所以奇环是无解的,二分图判一下然后给每个联通块求一遍直径,加起来即为最终答案#include&lt;bits/stdc++.h&gt;using namespace std;const int N=1002;struct ...原创 2018-10-25 09:01:05 · 188 阅读 · 2 评论 -
Codeforces 573C. Bear and Drawing
题目题意:有一棵树,然后有两行列无限的点。问这棵树能否画在点阵上,树的边不能相交Solution我们记只有一个点的子树为①。记只有1个①的子树为①。记有且仅有2个①的子树为②。记有且仅有1个③或至少有1个②或至少有3个①的子树为③。记恰好有2个③和若干小于③的子树为④。记其他的子树为⑤。只有当根不超过④时,才合法Code#include&lt;bits/stdc++.h&gt...原创 2018-10-22 07:44:28 · 283 阅读 · 0 评论 -
Codeforces 718D. Andrew and Chemistry
题目题解#include<bits/stdc++.h>using namespace std;const int N=100001;map<int,int>mp[N];map<vector<int>,int>H;set<int>S;vector<int>e[N];int n,i,x,y,tot;inline...转载 2018-10-19 13:44:14 · 178 阅读 · 0 评论 -
Codeforces 765E. Tree Folding
题目题解题意:给你一棵树,可以在这棵树上进行若干次操作,每次操作可以把两条长度相同的链,根据一个中点合并在一起。然后问你经过若干次合并之后,最后的最短链长度是多少Solution先从节点1开始dfs。对于每一个节点,用一个set记录:以该点为根的子树的深度。a) 如果此节点的某个子节点打出了GG,则此节点直接打出GG。b) 若set的元素个数<=1,那么,以该点为根的子树,显然...转载 2018-10-19 11:22:28 · 217 阅读 · 0 评论 -
51nod1425 减减数
题目Solution首先,想要最优,我们必须每次都取各位数字中的最大值进行操作其次,操作次数是单调的:f(n)&gt;=f(n−1)f(n)&gt;=f(n−1)f(n)>=f(n−1)dfs(n,mx)dfs(n,mx)dfs(n,mx) 要把nnn化为 000 ,mxmxmx 表示比数nnn最高位还要高的位的最大值firstfirstfirst表示操作次数,se...原创 2018-10-06 14:00:14 · 235 阅读 · 1 评论 -
cf767B. The Queue
题目 题解 细节特别多,写完以后wa了三四发以后实在想不出哪里漏想了,就看数据,又wa了好几发,实在不行,就看了题解 程序其实很短#include<bits/stdc++.h>using namespace std;typedef long long ll;const int N=100002;int i,n;ll x,s,ans,t,e,mx,mn;inline...原创 2018-07-08 10:31:13 · 169 阅读 · 0 评论 -
cf990D. Graph And Its Complement
题目 题意:给出n,a,b,表示n个点,要求一张图,满足有a个强联通分量,补图中有b个强联通分量题解:我刚开始的想法是:如果有大于1个的强联通分量,那么它的补图一定只有一个强联通分量。 对于a=1和b=1的情况,要特殊讨论,但是我开始只验证了n=2和3,发现都是NO,于是我就只要n&gt;1,a=1,b=1就输出NO。但是,看了数据以后发现:当n&gt;3时,a=1,b=1的情况可...原创 2018-06-10 20:42:01 · 406 阅读 · 0 评论 -
Codeforces 802H. Fake News (medium)
题目题意:构造两个字符串sss,ppp,使ppp在sss中作为子序列的出现次数恰好等于nnn。其中n≤1000000n≤1000000n≤1000000;sss,ppp的长度不能超过200200200。在构造过程中保证使s=pus=pus=puxxx为新字符k→2k+1k→2k+1k→2k+1 : 令s′=pxuxx,p′=pxs′=pxuxx,p′=pxs′=pxuxx,p′=px(s...原创 2019-01-09 15:09:47 · 266 阅读 · 0 评论