zoukankan      html  css  js  c++  java
  • 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:暴力扫描线+数据结构,讨论一下细节就行了。

  • 相关阅读:
    使用wps跨ubuntu和windows编辑“.doc”文档。报错“编辑受限”,乱码,软件卡死,强制关闭
    【Python】断言功能Assertion
    【Python】hasattr() getattr() setattr() 使用方法详解
    【python】self & cls
    【Python】2.x与3​​.x版本的选用&版本间的区别
    【python】 del 的用法
    【python】参数中的*args和**kwargs
    解方程AX=b与矩阵分解:奇异值分解 特征值分解 QR分解 三角分解 Cholesky分解
    【python】dist-packages和site-packages的区别
    【python】脚本连续发送QQ邮件
  • 原文地址:https://www.cnblogs.com/shanquan2/p/7162011.html
Copyright © 2011-2022 走看看