摘要: 显然每一行棋子的某种放法是否合法只与上一行有关,状压起来即可。然后n稍微有点大,矩阵快速幂即可。 阅读全文
posted @ 2018-10-20 23:31 Gloid 阅读(234) 评论(0) 推荐(0) 编辑
摘要: 这场打的顺手到不敢相信。如果不是vp的话估计肯定打不到这个成绩。 A:最大显然,最小的话每次暴力给最小的+1。 #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #inclu 阅读全文
posted @ 2018-10-20 17:42 Gloid 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 可以大胆猜想的一点是,只要有不少于一个长度为k的颜色相同子串,方案就是合法的。 直接算有点麻烦,考虑减去不合法的方案。 一个正(xue)常(sha)的思路是枚举序列被分成的段数,问题变为用一些1~k-1的数组成n的方案数,这显然是可以容斥的。但好像对每一种都进行容斥就不太好办了。 暴力二维dp是很容 阅读全文
posted @ 2018-10-20 15:21 Gloid 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 搜索好难啊。 1.对于每个分数集合记忆化。 2.某人得分超过总分,剪枝。 3.某人之后全赢也无法达到总分,剪枝。 4.每有一场比赛分出胜负总分会多三分,而平局则会多两分。某人的分出胜负场次或平局场次超过该限制,剪枝。 面向代码编程直到除了变量名几乎都一模一样还是T。最后发现记忆化判断某个状态是否已经 阅读全文
posted @ 2018-10-20 14:34 Gloid 阅读(173) 评论(0) 推荐(0) 编辑
摘要: DAG中每个点选一条入边就可以构成一棵有向树,所以如果没有环答案就是∏degreei。 考虑去掉含环的答案。可以看做把环缩点,剩下的点仍然可以任意选入边。于是去除的方案数即为∏degreei/∏degreek,k为环上点。 环相当于考虑新加入边的终点到起点的所有路径。设f[i]为i为起点的所有路径提 阅读全文
posted @ 2018-10-20 01:47 Gloid 阅读(179) 评论(0) 推荐(0) 编辑