题目链接 我们不妨先考虑只有一行的情形。 我们做两个前缀和$red_i,bule_i$分别表示前$i$个里有多少个红色块和蓝色块。 设$f[i][k]$为做到第$i$块,此时用了$k$次涂刷的最大收益。 我们思考如下问题:既然重复涂色没有收益,那么我们强制让我们的涂色方案没有重叠的情况,即让我们对于 ...
分类:
其他好文 时间:
2020-12-15 12:20:16
阅读次数:
3
Description(P4161) windy学会了一种游戏。 对于1到N这N个数字,都有唯一且不同的1到N的数字与之对应。 最开始windy把数字按顺序1,2,3,……,N写一排在纸上。 然后再在这一排下面写上它们对应的数字。 然后又在新的一排下面写上它们对应的数字。 如此反复,直到序列再次变为 ...
分类:
其他好文 时间:
2020-08-28 14:33:31
阅读次数:
48
数位dp模板题 #include <bits/stdc++.h> #define inf 2333333333333333 #define N 1000010 #define p(a) putchar(a) #define For(i,a,b) for(int i=a;i<=b;++i) //by ...
题目大意 给你一张图,你刚开始在1号节点,每次你可以走到相邻的节点,每条边有一个边权,代表需要花费的时间。问有多少种方案刚好t时间走到n号节点。答案对2009取模。 对于 $30%$ 的数据,保证 \(n \leq 5\),\(t \leq 30\)。 对于 $100%$ 的数据,保证 $2 \le ...
分类:
其他好文 时间:
2020-06-25 13:34:59
阅读次数:
51
Problem windy有 N 条木板需要被粉刷。 每条木板被分为 M 个格子。 每个格子要被刷成红色或蓝色。 windy每次粉刷,只能选择一条木板上一段连续的格子,然后涂上一种颜色。 每个格子最多只能被粉刷一次。 如果windy只能粉刷 T 次,他最多能正确粉刷多少格子? 一个格子如果未被粉刷或 ...
分类:
其他好文 时间:
2020-05-29 19:40:35
阅读次数:
68
```#include#include#includeusing namespace std;const int N=15;int len;int d[N];int f[N][N];int dfs(int pos,int pre,bool lead,int limit){ if(!pos) retu... ...
"CSDN同步" "原题链接" 简要题意: 一个 相邻两个数字差的绝对值都 $\geq 2$ 且不含前导零 的数 被称为 “ 数”。问从 $a$ 到 $b$ 的 “ 数”的个数。 首先,我们考虑 $1$ ~ $n$ 的 “ 数” 的个数怎么求。 用 $f_{i,j}$ 表示有 $i$ 位,最高位为 ...
`调数位,两行泪` 好久没写数位dp了,这当然是因为队友zyf大佬dp实在太猛,orzorz 印象中唯一写过一次是在某一次区域赛的热身赛上(而且我还写翻车了) 所以今天的主题就是数位DP吧 不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。在A和B之间,包括A和B,总共有多少个wind ...
这是一道置换练习题,学过置换就是一道较简单的DP题; 首先,观察到题目中要求的操作其实就是置换,让求置换多少次变回去; 根据置换的知识点(或直觉)得出结论——层数等于置换中各个循环的长度的LCM; 又可以转化成把n个元素分成m个集合,让你求各集合大小的LCM的情况数; 由于LCM与质数的关系,不难想 ...
分类:
其他好文 时间:
2020-02-03 17:25:16
阅读次数:
65
Description windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数? Input 包含两个整数,A B。 Output 一个整数 Sample Input 【输入样例一】 1 ...