随笔分类 - 动态规划—思想型
摘要:题意 "题目链接" Sol $f[i][j]$表示匹配到第$i$个串,当前在主串的第$j$个位置 转移的时候判断一下是否可行就行了。随便一个能搞字符串匹配的算法都能过 复杂度$O(|S| K a_i)$ cpp include define Pair pair define MP(x, y) mak
阅读全文
摘要:题意 "题目链接" Sol 这题想还是不难想的,就是写起来很麻烦,然后去看了一下loj的最短代码表示只能Orz 首先不难发现一条性质:能够选择的区间一定是不断收缩的,而且新的可选区间一定是旧区间的某个位置划分而来的。 比如$A_{i 1} = x$,此时小于$x$的最大数为$l_{i 1}$,大于$
阅读全文
摘要:题意 "题目链接" Sol ~~每当出题人想起他出的HNOI 2018 Day2T3,他都会激动的拍打着轮椅~~ 读题比做题用时长系列。。。 $f[i][a][b]$表示从根到$i$的路径上,有$a$条公路未被翻修,$b$条铁路未被翻修 然后xjb转移一下 比较好奇为啥不会MLE.. cpp inc
阅读全文
摘要:题意 "题目链接" Sol 一个不太容易发现但是又很显然的性质: 如果有两个相邻的红格子,那么第一问答案为0, 第二问可以推 否则第一问答案为偶数格子上的白格子数,第二问答案为偶数格子上的红格子数 cpp include define Pair pair define MP(x, y) make_p
阅读全文
摘要:题意 "题目链接" Sol 感觉这个思路还是不错的 cpp include using namespace std; const int MAXN = 501, SS = 5e6 + 10; inline int read() { char c = getchar(); int x = 0, f =
阅读全文
摘要:题意 "题目链接" Sol 不会做Orzzzz 想到了和题解一样的方程,但是根本不会转移 具体题解看 "这里" 吧 大致思路就是先推一波性质,然后对于最后一个位置上的数$i$,分两种情况讨论一下:与$i 1$相邻 / 不相邻, cpp include define chmin(x, y) (x =
阅读全文
摘要:题意 "题目链接" Sol 首先不难想到一个dp 设$f[i][j]$表示选了$i$个 严格递增 的数最大的数为$j$的方案数 转移的时候判断一下最后一个位置是否是$j$ $$f[i][j] = f[i][j 1] + f[i 1][j 1] j$$ cpp for(int i = 0; i usi
阅读全文
摘要:题意 "题目链接" Sol 想不到想不到。。 首先在不考虑每个人的真是成绩的情况下,设$f[i][j]$表示考虑了前$i$个人,有$j$个人被碾压的方案数 转移方程:$$f[i][j] = \sum_{k = j}^n f[i 1][k] C_{k}^{k j} C_{N k}^{r[i] 1 (k
阅读全文
摘要:题意 "题目链接" 给出$n$个数,问最少选几个数,使他们的$gcd = 1$ Sol 好神仙啊qwq。 首先,如果答案存在,那么最多为$7$(因为前$7$个质数乘起来$ = 3e5$) 考虑dp,设$f[i][j]$表示选了$i$个数,他们$gcd = j$的方案数! 没错是方案数! 那么我们只要
阅读全文
摘要:题意 "题目链接" Sol 非常妙的一道题目。 首先,我们可以把$C_{a_i + b_i + a_j + b_j}^{a_i + a_j}$看做从$( a_i, b_i)$走到$(a_j, b_j)$的方案数 然后全都放的一起dp,$f[i][j]$表示从$(i, j)$之前的所有点到$(i, j
阅读全文
摘要:题意 题目链接 给你一个擦去了部分左括号和全部右括号的括号序列,括号有25种,用除x之外的小写字母a~z表示。求有多少种合法的括号序列。答案对4294967296取模。合法序列不能相交,如()[],([])是合法序列,而([)]是不合法的。 Sol 这个题告诉我们什么叫:暴力艹标算,n方过百万。。。
阅读全文
摘要:题意 题目链接 平面上有$n$个点,每个点都有一个位置$x_i$,和向右的速度$v_i$现在要求你对其中的一些点进行染色,当一个点被染色后,在无限距离内与它相遇的点也会被染色问在可能的$2^n$种染色方案中,有多少种染色方案可以使得最后的点全部被染色 Sol 非常好的dp题。 首先考虑若点$i$被染
阅读全文
摘要:题意 约翰要带N(1≤N≤100000)只牛去参加集会里的展示活动,这些牛可以是牡牛,也可以是牝牛.牛们要站成一排.但是牡牛是好斗的,为了避免牡牛闹出乱子,约翰决定任意两只牡牛之间至少要有K(O≤K<N)只牝牛. 请计算一共有多少种排队的方法.所有牡牛可以看成是相同的,所有牝牛也一样.答案对5000
阅读全文
摘要:题意 题目描述的很清楚。。。 有一天,贝茜无聊地坐在蚂蚁洞前看蚂蚁们进进出出地搬运食物.很快贝茜发现有些蚂蚁长得几乎一模一样,于是她认为那些蚂蚁是兄弟,也就是说它们是同一个家族里的成员.她也发现整个蚂蚁群里有时只有一只出来觅食,有时是几只,有时干脆整个蚁群一起出来.这样一来,蚂蚁们出行觅食时的组队方
阅读全文
摘要:题目背景 无 题目描述 在一个凹槽中放置了 n 层砖块、最上面的一层有n 块砖,从上到下每层依次减少一块砖。每块砖 都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示。 如果你想敲掉第 i 层的第j 块砖的话,若i=1,你可以直接敲掉它;若i>1,则你必须先敲掉第 i-1 层的第j 和第j+1
阅读全文
摘要:Description 张老师根据自己工作的需要,设计了一种特殊的二叉搜索树。他把这种二叉树起名为zh_tree,对于具有n个结点的zh_tree,其中序遍历恰好为(1,2,3,…,n),其中数字1,2,3,…,n 是每个结点的编号。n个结点恰好对应于一组学术论文中出现的n个不同的单词。第j个单词在
阅读全文
摘要:Description 由于Blue Mary呕心沥血的管理,Blue Mary的网络公司蒸蒸日上。现在一共拥有了n名职员,可惜没有任何的金钱和声誉。平均每名每天职员都可以给公司带来x单位金钱或者y单位声誉(名利不能双全)。并且可以花费z单位的金钱在人才交易市场发布广告招聘职员,每次发布广告三天以后
阅读全文
摘要:Description 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len)。 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0(2<=i<=len)。 Input 输入文件共2行。 第一行包括一个整数n。 第二行
阅读全文
摘要:Description 小呆开始研究集合论了,他提出了关于一个数集四个问题:1.子集的异或和的算术和。2.子集的异或和的异或和。3.子集的算术和的算术和。4.子集的算术和的异或和。 目前为止,小呆已经解决了前三个问题,还剩下最后一个问题还没有解决,他决定把这个问题交给你,未来的集训队队员来实现。 小
阅读全文
摘要:题目背景 无 题目描述 有两个仅包含小写英文字母的字符串 A 和 B。现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来得到一 个新的字符串,请问有多少种方案可以使得这个新串与字符串 B 相等?注意:子串取出 的位置不同也认为是不同
阅读全文