【ACM】第一次ccf考试总结

17号的考试,21号才想起来写总结。。。第一次考ccf,准备的不算很充足,也不能说没有。ccf历年的试题也刷了一些,但是也没有很认真的研究。今年的题目顺序和往年的不太一样,图论题放到了第5题,然而我也没有写出来。考试的时候第一题题目出了问题,题面是求最大值,最小值和中位数,这个很简单,容易忽略的就是题目虽然说了有序但是没说是升序还是降序,所以我还是用sort排了序。再者就是注意用doubl...
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

【ACM】2019CCPC女生专场总结

当初报名的时候以为会是周六热身赛,周日正赛,所以定了31号的机票。到机场的时候已经非常晚了,没有赶上地铁,打的去了酒店。(南京的夜间的士价格比较贵,下次还是买早班飞机坐公共交通工具吧)第二天早上先去签到,南京晓庄学院的环境超级好,很宽敞,惬意。本来在群里看到说衣服是AC色的,结果发下来是橙色的,寓意是“成了”,应了这番好意,我们队最后拿了铜奖。因为比赛前不想给自己太大压力,就没怎么...
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

D. Eternal Victory(思维+树dfs)

https://codeforces.com/contest/1084/problem/D题意:树上有边权,要求经过所有点,使得总边权最小。思路:通过模拟可以发现,不管怎么走,有很多的路是要走两遍的,而且可以发现不管怎么走总会有一条从根节点出发到某个叶子节点结束的只经过一次边的路径。那dfs找出这个最长的走一次的路径,答案就是全部边权总和*2-这个最长。#include<iostream>#include<vector>#include<queue>
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

D. Vessels(并查集+模拟)

https://codeforces.com/problemset/problem/371/D题意:给一个从上到下容积依次增大的容器,多次操作,给某个容器倒水,如果这个容器满了就会溢出,直到最后一个都满了就溢出到外面。然后途中会多次询问某个容器的体积。思路:暴力的话是(n*m)的。考虑优化,能不能快速找到实际要倒的那个容器编号呢?比如1号满了就直接找到2号,2号满了直接找到3号,5号满了直接找到6号。这里用并查集优化,当前编号容器满了就和下一个编号的容器用并查集建边,以此类推。#include
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

B. ZgukistringZ(枚举)

https://codeforces.com/problemset/problem/551/B题意:给定a,b,c串。问能在a中选出多少总个数最多的b,c串。思路:开始想着贪心,发现没法贪心(wa12)。考虑枚举。由于b,c串是定的,所以最开始可以得出主串a给b的最多次数ans,那么然后考虑主串a给c的次数。枚举i:0~ans,然后考虑次数剩余的a串中的数目能最多给c串多少,在过程中更新最值。最后输出。#include<iostream>#include<vector&gt
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

D. Robot Vacuum Cleaner(思维+贪心(经典))详解

https://codeforces.com/problemset/problem/922/D题意翻译有n个由s,h 组成的串 这些串可以按照任意顺序连接 最大化sh子序列(不用连续)的数量思路:首先要想到的是多出来的sh是后面拼接上去的h*前面出现的s总数。所以比较容易想到s尽量放前面,h尽量放后面。所以开始想法就是单纯把h多的扔后面,然后hack了自己。hack:hhhs, sshhhhh姑且把这个题看作套路的一种类型。不管怎么拼接,一个串中原有的sh是不变的,多出来的是..
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

D. Recover it!(思维+模拟)

https://codeforces.com/problemset/problem/1176/D题意翻译从前有一个长度为nn的数组aa,其中每一个数都在22到2\cdot10^52⋅105之间,你不知道aa,但是你知道另一个长度为2n2n的数组bb,bb是由aa生成的。生成方式如下:首先,让bb等于aa。然后,对于aa中的每一个数a_iai​,如果这是一个质数,那么就把第a_iai​小的质数添加到bb的末尾,否则,就把a_iai​的最大的不等于a_iai​的因子添加到bb的末尾。.
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

B. Tolik and His Uncle(构造+特殊情况推导)

https://codeforces.com/problemset/problem/1179/B题意翻译有一天,_rqy想出来了一道构造题,出给了wqy去做。然而wqy不会做,于是就来找你。你有一个nn行mm列的棋盘,其中第ii行第jj列的格子标号为(i,j)(i,j)。你需要从(1,1)(1,1)开始遍历这个棋盘。每一次,如果你在(x,y)(x,y),你可以选择一个向量(\text{d}x,\text{d}y)(dx,dy),并且移动到(x+\text{d}x,y+\text{d}y)(.
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

A. The Fair Nut and the Best Path(无根树dp详解)

https://codeforces.com/problemset/problem/1083/A题意:到达一个点得到这个点的价值,经过一个边花费这个边的价值,求得到的最大价值思路:之前碰过一些无根树的问题,有些是直接定1为根就可以了不用考虑其他,但是有些不行。比如树的重心,一种方法是定1为根然后考虑dp转移过程中该节点“头上”的量。比如树的直径,确实可以两次dfs求,树形dp的求法也是类似考虑节点“头上”的量。这题是个无根树,考虑头上的量。先考虑以u为根节点的子树,1.u是起点,那么就.
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

D. Cow and Snacks(并查集+建图连通块)

https://codeforces.com/problemset/problem/1209/D题意翻译nn种花,kk个客人,每个人喜欢两种编号不同的花。但是每种花在花店里只有一束。客人按顺序进入花店,会买走所有她喜欢且仍在店铺里的花。如果一个客人买不到任何一束花,那么她就会十分沮丧导致变成肥宅。现在你可以自己安排这nn个人的顺序,使得肥宅的数量最小。翻译 by @皎月半洒花。输入输出样例输入 #1复制5 41 24 31 43 4输出 #1复制1...
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

E. Tree Painting(思维+树形dp+换根dp)

https://codeforces.com/problemset/problem/1187/E首先一个很重要的点就是选了一个点之后,这颗树就会被分成两个子树,然后选左边和右边就是“独立”的了。先选左边和先选右边就不会有顺序上的影响了。然后对于左边再进行选择又回来刚才的状态。所以说选了一个点后后面的答案就确定了。所以考虑枚举每个点作为根节点。f[i]表示以i为根的子树获得的最大值。f[i]=siz[i](以i为根的子树)+总和(v是i的儿子)f[u].那么这样暴力是O(n^2)的。比较常
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

kmp板子(2.0)

typedef long long LL;int nxt[maxn];int a[maxn],b[maxn];int p[maxn+10];//模式 int s[maxn+10];//文本 int n,w;void build(int s[],int n)//构造nxt数组相当于把匹配串错开一位自己进行比较{ int k=0;nxt[0]=0; for(int i=1;i<n;i++) { while(k&&s[i]!=.
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

int_128(读写板子)

#include <bits/stdc++.h>using namespace std;inline __int128 read(){ __int128 x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=getchar(); } while(ch>='0'&&amp.
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

D Secret Passwords(思维+并查集)

https://www.luogu.com.cn/problem/CF1263D题意翻译给定nn个字符串如果存在一个或多个字母同时在字符串aa和bb中出现 这aa和bb就被分在同一组 如果aa和cc在同一组bb和cc在同一组 则aa和bb也在同一组问所有的字符串最后被分成几组输入输出样例输入 #1复制4ababd输出 #1复制2输入 #2复制3abbcabc输出 #2复制1输入 #3复制1codeforces输.
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

E 1-Trees and Queries(思维+LCA+奇偶性)

题意翻译Description给定一个n个点的树,相邻点的距离为1。q个询问,每个询问包含无个整数:x,y,a,b,kx,y,a,b,k。含义是:在原树上新连上一条边(x,y)(x,y),要求判断一下从aa点是否有距离为kk的到bb的路径。注意: 每个询问是独立的,即上次询问加上的边,不能为这一次的询问所用。 这一条路径也许会重复经过某一条边或某一点。 Input第11行:nn;第2 \cdots n2⋯n行: 每行2...
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

E. Construct the Binary Tree(满二叉树-长链构造)

https://codeforces.com/problemset/problem/1311/E题意翻译要求构造一个n个节点的二叉树(每个节点拥有不超过2个孩子),节点1为根,要使所有节点到根的距离之和为d。要求先判断可不可以构造,如果可以输出“YES”,下一行输出2到n号节点的父亲节点,否则输出“NO”。有多组询问。输入输出样例输入 #1复制35 710 1910 18输出 #1复制YES1 2 1 3 YES1 2 3 3 9 9 2 1 6 NO.
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

A. Cubes Sorting(思维+排序/逆序对+贪心)

https://codeforces.com/contest/1420/problem/A贪心考虑极端情况,也就是完全从大到小的,手动模拟发现始终比题目的yes条件少一个,那么其他情况只要有一个地方和这个最劣解不同,就会至少有+1的优化,那么就是Yes#include<iostream>#include<vector>#include<queue>#include<cstring>#include<cmath>#include&
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

B. Rock and Lever(思维+位运算+贪心)

https://codeforces.com/contest/1420/problem/B思路:位运算嘛..刚前天做了一道类似的题。考虑最高位的贪心.为什么呢?把数字按照二进制位去思考。ai&aj≥ai⊕aj比如1 1 00 0 1把这两个数进行题目的操作发现,&的操作会让最高位变成0,而异或会变成1,使得不满足题目的统计条件。再比如1 __ __1 __ ___每个位置1和0两个情况枚举每个情况会发现只有这种情况能满足条件。...
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

C1. Pokémon Army (easy version)(思维+贪心(波峰波谷)/线性dp)

https://codeforces.com/contest/1420/problem/C1题意:有一个a序列,要你找一个子序列,结果为奇数位减去偶数位的和。求最大和。对于c1来说,有两种方法。采用贪心,c2的维护就讨论交换的时候是具体什么情况;采用dp,c2的维护就可以使用线段树来维护这个dp。先上dp的转移叭..我当时是用贪心过的。定义dp[i][0]为前i个数选择了偶数个数的最大和;dp[i][1]为选择了奇数个数的最大和。dp[i][1]=max(dp[i−1][1],dp[i.
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0

A. Non-zero(思维)

https://codeforces.com/contest/1300/problem/A分情况讨论0的个数和sum的总和即可#include<iostream>#include<vector>#include<queue>#include<cstring>#include<cmath>#include<map>#include<set>#include<cstdio>#include&
分类: 其他 发布时间: 09-26 11:45 阅读次数: 0
今日推荐