SDU暑期集训排位(9)

G. Just Some Permutations

基础 DP 练习部分

  • 定义 \(f(S)\),表示让 S 中的人全 happy 的方案数。
  • \(dp[i][j]\) 表示,\(\sum_{|s|=j,s\subset\{1,...i\}} f(s)\)。
  • 考虑从 \(dp[i][j]\) 开始的转移,可惜它转移不得,因为 \(i+1\) 个人,不知道自己能不能匹配成功。
  • DP 状态记录 \(i+1,i\) 是否被匹配,大部分情况下 \(i+1\) 个人可以匹配 \(i,i+1,i+2\)
  • Cornner Case 是 1 可以匹配 n,n 可以匹配 1,怎么办?
  • DP 状态记录 \(1,n\) 是否被匹配。
  • 于是 \(dp[i][j][\{i,i+1,1,n\} 匹配了哪些]\) 就是个很优雅的状态了,枚举第 \(i+1\) 个人匹配谁即可实现转移。

基础组合数学部分

  • \(ans[i]\) 表示 \(\sum_{|s|=i} f(s)\)
  • rdc 做完 基础 DP 练习后人解体了。
  • \(g(x)\) 表示恰有 \(x\) 个 happy 的人的方案数。
  • \(ans[i]=\sum_{j=x}^{n}g(j)\binom{j}{i}\)

基础的优化部分

  • 比赛中 TLE 掉了。
  • 需要每次都做 \(O(n*m*64)\) 的恐怖 DP?
  • 考虑 \(n=200,m=200\),\(n=100,m=100\) 这个两组 Case 发现 \(dp[1][]\) 到 \(dp[98][]\) 值一样的。
  • 不需要啊,对每组查询,更新 \(dp[i-1],dp[i]\) 即可。

D. Flood in Gridland

  • 单纯形。rdc 比赛中调了一年,因为不知道默认有 \(x_i \geq 0\) 的条件,没文化。
  • 调出来后 WA。
  • sdcgvhgj 比赛后单纯形一发就过了。

SDU暑期集训排位(9)的更多相关文章

  1. SDU暑期集训排位(5)

    SDU暑期集训排位(5) A. You're in the Army Now 题意 类似选志愿.每个人有 mark,有优先级从高到低的志愿. 做法 定睛一看,鲨鼻题.然后 WA. 为什么会 WA 呢? ...

  2. SDU暑期集训排位(4)

    SDU暑期集训排位(4) C. Pick Your Team 题意 有 \(n\) 个人,每个人有能力值,A 和 B 轮流选人,A 先选,B 选人按照一种给出的优先级, A 可以随便选.A 想最大化己 ...

  3. SDU暑期集训排位(8)

    A. A Giveaway 签到 B. Game of XOR 做法 dp[G][L][R]表示在倒数第G代,左边的数是L,右边的数是R,下面共有多少个0和1 区间和转换成两次前缀和和一次单点查询 利 ...

  4. SDU暑期集训排位(3)

    B. Mysterious LCM 做法 保留 \(a_i|x\) 的元素,其它元素解体. \(a_i\) 的某个质因子的指数,要和 \(x\) 的这个质因子一样多,才有贡献,否则这个质因子它在划水啊 ...

  5. SDU暑期集训排位(2)

    A. Art solved by sdcgvhgj 3min 签到 B. Biology solved by sdcgvhgj 85min 暴力 C - Computer Science solved ...

  6. 2014年CCNU-ACM暑期集训总结

    2014年CCNU-ACM暑期集训总结 那个本期待已久的暑期集训居然就这种.溜走了.让自己有点措手不及.很多其它的是对自己的疑问.自己是否能在ACM这个领域有所成就.带着这个疑问,先对这个暑假做个总结 ...

  7. 8.10 正睿暑期集训营 Day7

    目录 2018.8.10 正睿暑期集训营 Day7 总结 A 花园(思路) B 归来(Tarjan 拓扑) C 机场(凸函数 点分治) 考试代码 A B C 2018.8.10 正睿暑期集训营 Day ...

  8. 8.6 正睿暑期集训营 Day3

    目录 2018.8.6 正睿暑期集训营 Day3 A 亵渎(DP) B 绕口令(KMP) C 最远点(LCT) 考试代码 A B C 2018.8.6 正睿暑期集训营 Day3 时间:5h(实际) 期 ...

  9. 8.9 正睿暑期集训营 Day6

    目录 2018.8.9 正睿暑期集训营 Day6 A 萌新拆塔(状压DP) B 奇迹暖暖 C 风花雪月(DP) 考试代码 A B C 2018.8.9 正睿暑期集训营 Day6 时间:2.5h(实际) ...

随机推荐

  1. HTTP文件上传原理

    前言 对于这块知识点,我一直都是模糊的,不是非常清楚的.在平时的工作中,遇到上传的问题,也没有深入的去研究过,也都是直接用别人封装好的类来完成自己的工作.某一天,看了本书,说到这个知识点,一脸茫然,觉 ...

  2. springboot-权限控制shiro(二)

    目录 1. 场景描述 2. 解决方案 1. 场景描述 (1)最近有点小忙,公司真实项目内容有点小多以及不想只介绍理论,就使用springboot单独部署了个shiro的demo项目,还是理论和实际项结 ...

  3. ZK安装、ZK配置、ZK集群部署

    今天心血来潮,想搞一下zookeeper集群.具体步骤记录下吧~嘻嘻

  4. maven的编译规范

    maven的中央仓库上的jar的包名必须小写.否则maven编译不通过. 如:Memcached-Java-Client-3.0.2 的jar包. 目录如下: com.whalin.memcached ...

  5. WEB基础(一)--JSP的9个内置对象

    1.request request 对象是 javax.servlet.httpServletRequest类型的对象. 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据. ...

  6. Vue系列:为不同页面设置body背景颜色

    由于SPA页面的特性,传统的设置 body 背景色的方法并不通用. 解决方案:利用组件内的路由实现 代码参考如下

  7. android——SQLite数据库存储(创建)

    Android 专门提供了SQLiteOpenHelper帮助类,借助这个类就可以非常简单的对数据库进行创建和升级. 首先SQLiteOpenHelper是一个抽象类,在使用的时候需要创建一个自己的帮 ...

  8. 洛谷 P2657 [SCOI2009]windy数

    题意简述 求l~r之间不含前导零且相邻两个数字之差至少为2的正整数的个数 题解思路 数位DP 代码 #include <cstdio> #include <cstring> # ...

  9. 重学计算机组成原理(七)- 程序无法同时在Linux和Windows下运行?

    既然程序最终都被变成了一条条机器码去执行,那为什么同一个程序,在同一台计算机上,在Linux下可以运行,而在Windows下却不行呢? 反过来,Windows上的程序在Linux上也是一样不能执行的 ...

  10. Duilib的圆角矩形 抗锯齿优化 弥补RoundRect不足(网易云信borderround版本)

    VListBox class="list" name="list" padding="5,3,5,3" bordersize="1 ...