acm康复训练记4-world final 2017
不要问我2和3哪里去了
wf的题感觉没那么sxbk啊
A:计算几何,不会
B:暴力枚举答案和每个人手上的牌,只需先枚举答案再枚举每一个人之后立刻检验合法性即可,跑得飞快【比楼下c题还快
C:显然只需考虑每个非0数填的个数的最小值,其余的非0数均补0即可,这个显然可以转化为最小边覆盖【以行和列做左右边的点,每个非0的格子对应一条边】,则个数=n+m-最大匹配【n,m分别为行最大值等于当前数的个数和列最大值等于当前数的个数
D:显然如果有两个左下角的点(x,y)和(z,w)满足x<=z且y<=w,那么(z,w)不可能作为最优解;同样,如果两个右上角的点(x,y)和(z,w)满足x>=z且y>=w,则(z,w)不可能作为最优解。这样可以假设左下和右上都满足当x增加的时候y减少。这时可以证明当x增加的时候,对应最优决策的x也不减,分治即可。
E:暴力二分答案,随便算算即可。
F:暴力dp,f[n][k]表示前n个数用了k个数的最小值,转移时枚举当前的数是最优决策的区间,暴力计算二次函数最小值并转移即可。
G:显然只每次只需要考虑如何倒退一步。显然倒退一步的时候上下左右都会缩小至少1。如果没有错误,这个显然可以递推,b[i][j]=a[i-1][j-1]b[i-2][j-2]b[i-2][j-1]b[i-2][j]b[i-1][j-2]b[i-1][j-1]b[i-1][j]b[i][j-2]b[i][j-1]。容易知道,当(i,j)被修改的时候,b[i+3k+1][j],b[i+3k+2][j]会被修改【k是自然数】,所以考虑复原时向外多扩展两层,如果向外扩展的两层中解出来都是0那么显然没有错误,否则找到有1的最上一行i+1和最左一列j+1,则(i,j)即为错误的格子,更正后当作没有错误做即可。
H:不会,当场没人a
update:看懂结论了,懒不想写。
I:暴力球传递闭包得到可行的字母转移,再暴力判断即可。
J:暴力网络流,太懒了不写。
K:显然【其实是我不会证】字符串A出现的概率比B大当且仅当 A的border长度从大到小排序 的字典序大于 B的border长度从大到小排序,kmp再暴力判断即可。
老了老了,kmp都不会写了
L:暴力扫描线+数据结构,讨论一下细节就行了。