https://ac.nowcoder.com/acm/contest/5670?&headNav=www
https://ac.nowcoder.com/acm/contest/5671?&headNav=www
没有什么专题..主要在补题。
分类:图论
题意:https://codeforces.com/contest/1388/problem/D
有两个长度为n的数组a和b。最初,ans等于0,并定义了以下操作:
选择位置$i$(1≤i≤n);
向$ans$添加$a_i$;
如果$b_i$≠−1,则将$a_i$添加到$a_bi$中。
对每个i(1≤i≤n)执行一次操作所能得到的最大$ans$是多少?
找到最佳的位置顺序来对他们进行操作。
题解:将转移关系连成一个图,正数顺着拓扑序选择,负数逆着拓扑序选择
生成函数
[https://www.luogu.com.cn/problem/P2000]
大概就是求一个不可描述的东西的方案数
把每个需要满足的条件的生成函数写出来,相乘之后惊奇地发现消得差不多了
最后答案就是c(n,4)
后缀数组
分类:我也不知道@_@
简要题意:给出一棵树,每个节点都有pi个人居住,人们每天在根节点工作完后以最短路径返回居住地。将人的心情分为好坏两类,每个人一开始有某种确定的心情,走过任意一条路径后心情也可能发生改变,但只会改变一次,定义hi为经过i号节点的好心情人数与坏心情人数之差,给定每个节点hi,pi,求是否可能存在一种满足
解法:容易通过pi求出每个节点的人流量,即经过每个节点的总人数,记为numi,通过numi与hi可以直接求出该节点好心情人数hapi与坏心情人数badi,判断这两个数是否为小数或负数,若是,则无法满足,之后判断每个节点的hapi是否大于等于其儿子节点的hapj之和即可。满足上面两个条件,则容易构造出满足pi,hi的心情变化。
comment:一道水题,但我楞是差点不会写@_@