摘要:
【题解】数独(养生题) 暴力DFS,但是我的代码比较短,供大家参考。 "优雅的暴力——搜索算法小结" 不过我还用了随机化搜索,这种搜索思想可以防止被毒瘤出题人卡掉。有兴趣的可以看一下我的一篇总结里面写了搜索的一些技巧。 对于实现,我的思路是...不好说,但是这样写搜索又快又稳还短。 以上是洛谷装逼的 阅读全文
摘要:
【题解】P4841 城市规划 " P4841 城市规划" 超级弱化版本(DP): "POJ 1737 " 两张图不同当且仅当边的分布不一样的时候,带编号最后乘一个阶乘即可,现在最主要的问题就是"联通"这个条件。 我首先考虑的容斥,"随意连不联通"的方案太好算了,$2^{n(n 1)/2}$,但是发现 阅读全文
摘要:
【题解】P4091 [HEOI2016/TJOI2016]求和 " P4091 [HEOI2016/TJOI2016\]求和" 可以知道$i,j$从$0$开始是可以的,因为这个时候等于$0$。这种题目都要从$0$开始或许比较好(Itst语) 然后就开始化式子吧 原式= $$ \sum_{i=0}^{ 阅读全文
摘要:
【题解】康拓展开(养生题) 养生养生 | 编号 | 题目 | 状态 | 分数 | 总时间 | 内存 | 代码 / 答案文件 | 提交者 | 提交时间 | | | | | | | | | | | | 528662 | " 167. 康托展开" | Accepted | 100 | 1129 ms | 阅读全文
摘要:
【总结】容斥原理与反演 这个是个好东西...实际上,容斥和反演没有什么区别。 [TOC] "【题解】CF997C Sky Full of Stars" "【题解】CF451E Devu and Flowers(容斥)" "【题解】CJOI2019 登峰造鸡境 (Prufer序列+斯特林数)" "【题 阅读全文
摘要:
占坑 做法是拆掉所有式子,拆完式子看一下,如果A=0,发现边被分为了终点走向n的边和不走向n的边。所以边就有了新的边权,并且可以相加。然后通过网络流建模的套路建模使得满足时间的限制,然后由于有负边,所以跑spfa,这里60分。然后还有两个点是一条链,送10分。 先放代码,还没测,可能会爆零。交上去的 阅读全文
摘要:
【题解】BZOJ5093图的价值(二项式+NTT) 今天才做这道题,是我太弱了 强烈吐槽c++这种垃圾语言tmd数组越界不re反倒去别的数组里搞事情我只想说QAQ 推了一张A4纸的式子 考虑每个点的度数,因为每个点虽然有标号但是是等价的,对于每个点,对于答案的贡献是$x$,答案输出$n\times 阅读全文
摘要:
【题解】P5462 X龙珠 赛题 B : " P5462 X龙珠" | 满分: 100分 发一个set做法 维护两个set,一个按照顺序排序,一个按照值排序。 每次从大往小取,问题就变成了判断这个最大值后面是否有数,直接查看一下按照顺序排序的该数是否有后继。 编译记得用 c++11 ,请安心食用。 阅读全文
摘要:
【题解】[HAOI2018]染色(NTT+容斥/二项式反演) 可以直接写出式子: $$ f(x)={m \choose x}n!{(\dfrac 1 {(Sx)!})}^x(m x)^{n Sx}\dfrac 1 {(n Sx)!} $$ $f(x)$ 钦定 有$x$种颜色出现了恰好$S$的方案 然 阅读全文
摘要:
多项式大合集 NTT/FFT "传送门" cpp namespace poly{ const int maxn=1 1] 1|(t&1) 1; } const int mod=998244353; const int g=3; inline int ksm(const int&base,const 阅读全文
摘要:
【题解】Codeforces 961G Partitions "cf961G" 好题啊哭了,但是如果没有不小心看了一下pdf后面一页的提示根本想不到 题意 已知$U=\{w_i\}$,求: $$ \sum _{S}\sum_{s\in S}|s|\sum_{w \in s} w, S是U的一个k划分 阅读全文
摘要:
【题解】Counting D sets(容斥+欧拉定理) 没时间写先咕咕咕。 "vjCodeChef CNTDSETS " 就是容斥,只是难了一二三四五$\dots \inf$点 题目大意: 给定你一个$n$维空间,问你这个空间内有多少个点集满足两点间最大的切比雪夫距离为$d$。两个点集不同,当且仅 阅读全文
摘要:
【题解】分特产(组合数+容斥) 一道 "小水题。" 假如没有这个要求每个人都要有一个特产的限制我们直接可以组合数。 我们又发现人(本质上)是没有区别的,所以容斥的复杂度只有$O(n)$ $n$个人分$m$个特产,每个特产有$a_i$个,人可以 不拿特产 ,的方案数就是把$a_i$分成$n$份,而且可 阅读全文
摘要:
【题解】P4247 [清华集训]序列操作(线段树修改DP) 一道神仙数据结构(DP)题。 题目大意 给定你一个序列,会区间加和区间变相反数,要你支持查询一段区间内任意选择$c$个数乘起来的和。对19940417取膜。 咋做 我们这一类题看来有一个套路就是用线段树维护一个DP数组,然后线段树节点合并就 阅读全文
摘要:
【题解】没有上司的舞会 "5401 没有上司的舞会" 我是萌新 刚学OI,请问这道树上DP怎么做? 太难了不会啊 看了题解才会的。 $dp(i,1/0)$表示....算了太难了讲不清楚... 不会怎么DFS,只会常数内存都更小的BFS,球大神教我 cpp //@winlere include inc 阅读全文
摘要:
【题解】数字组合(NTT+组合 滑稽) 今天实践一下谢总讲的宰牛刀233,滑稽。 $(1+x)(1+x)(1+x)$的$x^2$系数就代表了有三个一快钱硬币构成的两块钱的方案数量。 很好理解,毕竟拆括号这种东西本身就有组合意义。 那么假设面值$i$有$a_i$个,那么最终的答案是 $$ G(x)=\ 阅读全文
摘要:
13.5k 十分良心 阅读全文
摘要:
公告 关于博主的一些公告会放在这里 2019年06月10日16:40:55 由于博主连续被一道计数DP和一道数位DP搞到心态爆炸,博主决定弃坑DP,有什么锅不保证补。有效期至谢总讲数位DP。 2019年06月10日22:30:06 2019年07月29日11:49:32 博客进行了升级,添加了动态背 阅读全文
摘要:
【题解】CF559C C. Gerald and Giant Chess(容斥+格路问题) | 55336399 | Practice: "Winlere" | "559C" 22 | GNU C++11 | Accepted | 186 ms | 1608 KB | 2019 06 09 17:0 阅读全文
摘要:
"[SDOI2012\]任务安排" 斜率优化入门题: 设$f(x)$为$F(x)$的 后 缀和,$t(x)$为$T(x)$的前缀和。$dp(i)$表示完成到第$i$任务的最小代价,转移: $dp(i)=\min \{dp(j) +f(j+1)\times(S+t(i) t(j)) \}$ 拆掉: 和 阅读全文
摘要:
【题解】Cats Transport (斜率优化+单调队列) | | When | Who | Problem | Lang | Verdict | Time | Memory | | : : | : : | : : | : : | : : | : : | : : | : : | | "553315 阅读全文
摘要:
【学习笔记】斜率优化 "[SDOI2012\]任务安排" 斜率优化入门题: 设$f(x)$为$F(x)$的 后 缀和,$t(x)$为$T(x)$的前缀和。$dp(i)$表示完成到第$i$任务的最小代价,转移: $dp(i)=\min \{dp(j) +f(j+1)\times(S+t(i) t(j) 阅读全文
摘要:
【题解】炮兵阵地 "luogu" 题解 暴力状压记录上一行和上上行信息,暴力判断是否存在不合法的阵地,暴力滚动数组,暴力统计,暴力转移即可。 看了yyb代码,我感觉我不曾写过代码... 加入说不要那么暴力也可以,可以知道真正有用的状态是很少了的,可以直接搜索加剪枝,本身这类问题就是NP的。 cpp 阅读全文
摘要:
【题解】Fence(单调队列) "POJ 1821" 题目大意 有$k$个粉刷匠,每个粉刷匠一定要粉刷某个位置$S_i$,一个粉刷匠可以粉刷至多$l_i$个位置(必须连续$l_i$互不相同),一个粉刷匠粉刷一个位置要收$p_i$元,问怎么安排可以使得粉刷匠赚的钱最大。 $dp(i,j)$考虑了前$i 阅读全文
摘要:
【题解】Cut the Sequence(贪心区间覆盖) "POJ 3017 " 题意: 给定一大堆线段,问用这些线段覆盖一个连续区间1 x的最小使用线段的数量。 题解 考虑一个这样的贪心: 先按照左端点排序,若左端点一样则谁长谁在前。现在判无解就方便了,记录一下前缀max即可。然后现在要最小化选择 阅读全文