zoukankan      html  css  js  c++  java
  • [心得]暑假DAY1 | 7-7考试总结

    呼。。

    正式开始暑假集训。

    今天一上午还在搞7-7的考试改题

    然而,该来该去,TLE48过不去了

    不知道哪的问题,loj上1w3ms(卡常都没能救得了)

    至于T1和T3,简单总结一下算了

    排序

    感觉很像分治的样子

    因为要想得到最终的顺序序列,它的子序列一定要是顺序

    具体的,进行dfs,搜索每一次的操作

    我们只有在小区间合法的情况下在交换大区间

    最后得到一个合法的操作方案

    如果确定了操作的个数和位置,操作顺序改变,又能产生新序列

    所以每次dfs找到新的操作个数,得到的贡献是out的阶乘

    统计答案即可

    放棋子

    很重要的是

    一些确定的棋子所在的行列位置不影响转移

    那么用g[i][j][k]表示k枚相同的棋子占任意i行,j列的方案数

    g转移:g[i][j][k]=C(i*j,k0)-sigma(g[l][r][k])*C(i,l)*C(j,r)      l<=i,r<=j && !(l==i && r==j)

    找到转移的补偿量很重要

    那么今天开始了图论专项

    菜肴制作

    T1就栽了

    一开始想直接拓扑最小字典序,很快发现显然不行

    那么又想把 菜的每个限制都聚到一起,进行拓扑排序,也有问题

    原来是倒序输出反向连边的拓扑最大序

    因为小序号要尽量在前,就是说,先一心把小的输出了,再考虑大序号

    比如样例

    5 2

    4 3

    制作1之后,虽然当前可制作的4比5小,但我们要先考虑做2,也就是把5做了,再2,4,3

    可以发现大的序号选或不选 取决与 它限制的小序号

    那么这其实是“小的限制大的”了

    于是反向建边

    这样得到的拓扑序用倒序输出的话可以满足原来的限制

    那么在反图中我们先做大序号,倒序输出即可成为 小序号尽可能先做

    矩阵游戏

    一道二分图。。

    其实二分图挺迷的,有时候特别难想,但有时候也挺套路的

    我们发现初始在一行/一列的黑白快在交换过程中始终在同一行/列

    考虑最终,对角线格子成黑色

    也就是说,每一行都对应一个专属的黑快

    (这样无论怎么交换,最后都是一行专属一个)

    把行/列分别为二分图的左右部分

    二分图能完全匹配,就有解

    约会

    因为N个点N条边,所以每个图里一定有且仅有一个环

    把这个环缩成点就变成一棵树,并且树根就是这个环

    在树上找lca,顺便计算深度

    那么对于每次询问,如果它们的lca不是树根,那么分别输出各自距离lca的距离

    如果lca是树根,还要在环内操作

    取环内某个点为起点,顺着路线依次排距离

    我们把原始图中的点用并差集指向环中的点

    那么最后就是各自距离lca的距离加上在环内走的距离

    一定是一个人走,一个人停在原地等才是最优情况

    比较环内两种情况:a走b等,b走a等,按题意特判即可

  • 相关阅读:
    闭包问题
    二级联动多选器
    一个和与后台数据连接的模板get post put 以及延伸的query
    鼠标经过图片的小动画
    UITableViewCell中cell重用机制导致内容重复的方法
    iOS Button在ios6的系统上无法实现点击,在更高版本的系统上可以
    iOS 使用Reachability实时检测网络连接状况
    iOS Uibutton防止多按钮同时按下
    iOS plist文件的添加
    iOS Xcode cannot run using the selected device.
  • 原文地址:https://www.cnblogs.com/Duan-Yue/p/11172982.html
Copyright © 2011-2022 走看看