动态规划
文章平均质量分 78
动态规划
呃呃...
这个作者很懒,什么都没留下…
展开
-
2021ICPC沈阳L(树形dp+容斥)
题目大意:2∗n2 * n2∗n个顶点的完全图,从中删除2∗n−12*n-12∗n−1条边,这2∗n−12*n-12∗n−1条边构成一颗树,从剩下的边中有多少种选出nnn条边的方法,这nnn条边没有点的交集解题思路:题目希望我们在完全图上求出有多少种方案,方案不包含删除的边,这不就典型的容斥吗…求任何k个条件即k条边一定选其他边任选的方案数Ans=(从树上选0条边的方案数)∗(剩下2n个点的完全图选n条边的方案数)−(从树上选1条边的方案数)∗(剩下2n−2个点的完全图任选n−1条边的方案数原创 2021-11-23 20:17:45 · 947 阅读 · 0 评论 -
CF1240D1 (组合数)
题目大意:长度为n(≤2000)n(\le 2000)n(≤2000)的字符串,字符串包含′(′'('′(′,′?′'?'′?′,′)′')'′)′,′?′'?'′?′可以是′(′'('′(′或者′)′')'′)′,对于一个不含′?′'?'′?′的序列,计算其子序列的最大深度,询问不同方案下最大深度和。解题思路:设prei,jpre_{i,j}prei,j为1∼i1\sim i1∼i的前缀字符,有jjj个′(′'('′(′,这个可以用组合数来算,同理算sufi,jsuf_{i,j}sufi,j原创 2021-10-14 16:07:21 · 76 阅读 · 0 评论 -
CF1554E(dp)
题目大意:大小为nnn的一颗树,可以执行nnn次操作:取出一个未被选择的点uuu,看其周围未被选择的点的个数,将数填到aua_uau上nnn次操作完之后,有个序列a1,a2,...,ana_1,a_2,...,a_na1,a2,...,an对其求gcdgcdgcd得到一个数询问对于kkk分别为1∼n1\sim n1∼n,有多少个不同的序列aaa,使得gcd({a})=kgcd(\{a\})=kgcd({a})=k解题思路:设序列{a1,a2,...,an}\{a_1,a_2,...,a_原创 2021-10-13 22:21:54 · 86 阅读 · 0 评论 -
2018牛客多校第三场B(基环树dp)
题目大意:n(≤1e5)n(\le1e5)n(≤1e5)件商品,第iii件商品价格为p[i]p[i]p[i],可以用以下两种折扣中的一种:得到d[i]d[i]d[i]的折扣,价格变为p[i]−d[i]p[i]-d[i]p[i]−d[i]原价p[i]p[i]p[i]购买,免费获得f[i]f[i]f[i]物品解题思路:f[i]→if[i]\rightarrow if[i]→i连边,那么就构成了基环树(树上有且仅有一个环)森林对于基环树常见的套路就是:先处理连接环的树,再拆环为链,最后考虑原创 2021-10-06 16:52:54 · 127 阅读 · 0 评论 -
Gym - 103102I(dp)
题目大意:长度为n(≤106)n(\le 10^6)n(≤106)的全排列,有多少种排列,满足∀i∈[1,n], pi%pi+1≤2, (pn+1=p1)\forall i \in [1,n],\,p_i\%p_{i+1}\le2,\,(p_{n+1}=p_1)∀i∈[1,n],pi%pi+1≤2,(pn+1=p1)解题思路:首先可以发现有两个特别的数:1,2,不管这两个数两侧是什么数都符合上面的条件,而且上面的条件:pi%pi+1≤2p_i\%p_{i+1}\le2pi%pi+1≤2原创 2021-10-05 00:14:37 · 141 阅读 · 0 评论 -
CF1363F_动态规划(最长公共子序列变种)
题目大意:有两个长度为n(≤2000)n(\le2000)n(≤2000)的字符串sss,ttt,每次可以对s的一个子串[l,r][l,r][l,r]中的字符进行顺时针移动,即:[sl,sl+1,...,sr−1,sr] →[sr,sl,sl+1,...,sr−1][s_l,s_{l+1},...,s_{r-1},s_{r}]\, \rightarrow [s_r,s_l,s_{l+1},...,s_{r-1}][sl,sl+1,...,sr−1,sr]→[sr,sl,sl+1,...,sr原创 2021-09-27 22:31:22 · 125 阅读 · 0 评论 -
CF1566F (动态规划)
题目大意:n(≤2e5)n(\le 2e5)n(≤2e5)个数轴上的点,m(≤2e5)m(\le 2e5)m(≤2e5)个数轴上的线段。每一次可以移动任意一个点移动单位一的距离最少操作多少次可以使的每个线段至少被一个点访问过解题思路:对于本身覆盖了点的线段可以删除掉对于大的线段覆盖了小的线段,大的线段可以删除掉,因为要遍历到小线段,则必然会经过大线段,所以可以删除对于两个点之间的线段,显然是由这两点来访问是最优的设dp[i][k]dp[i][k]dp[i][k]为第iii个点访原创 2021-09-27 19:57:41 · 258 阅读 · 0 评论 -
CF 650D dp+离散+线段树
题目大意:长度为n(≤400 000)n(\le 400\,000)n(≤400000)的序列,m(≤400 000)m(\le 400\,000)m(≤400000)次互相无关的替换,每次会替换某一个元素,求每次替换之后的最长上升子序列长度解题思路:首先计算,以iii为结尾的1∼i1\sim i1∼i位置的最长上升子序列pre[i]pre[i]pre[i],以及以iii开头的i∼ni\sim ni∼n位置的最长上升子序列suf[i]suf[i]suf[i],而计算这个的方法就是常见的求最长上升子原创 2021-09-23 21:15:48 · 85 阅读 · 0 评论 -
CF750E(线性dp矩阵优化)
题目大意:给你一个长度为n(≤200 000)n(\le200\,000)n(≤200000)的数字字符串,q(≤200 000)q(\le 200 \, 000)q(≤200000)次询问,每次询问给一个区间[l,r][l,r][l,r],询问这个区间的字符串,最少要删除多少个字符,使得子序列包含201720172017,不包含201620162016,如果不行,则输出−1-1−1解题思路:(思路来源:洛谷的题解)设∅,2,20,201,2017\emptyset,2,20,201,2017∅,2原创 2021-09-22 19:08:57 · 118 阅读 · 0 评论 -
CF258D 期望dp
题目大意:长度为n(≤1000)n(\le1000)n(≤1000)的排列,m(≤1000)m(\le 1000)m(≤1000)次交换,每次交换的概率是0.5,询问执行完mmm次操作,期望逆序对个数是多少解题思路:非常妙说真的这个dpdpdp(我没想出来。。。)设dp[i][j]dp[i][j]dp[i][j]为第iii个位置大于第jjj个位置的概率对于每次交换,(x,y)(x,y)(x,y):new[x][i]=0.5∗old[x][i]+0.5∗old[y][i]因为有0.5的原创 2021-09-16 21:22:13 · 93 阅读 · 0 评论 -
CF383E 状压dp(SOSdp)
题目大意:n(≤1e4)n(\le1e4)n(≤1e4)个长度为333的字符串(字符为:′a′−′x′'a'-'x'′a′−′x′(24个字符)),当一个字符串包含至少一个关键字符,则这个字符串是正确的,而关键字符的方案数为2242^{24}224,对每个方案的正确字符串个数平方求异或和解题思路:首先非常显而易见的是,可以将字符串先压缩成长度为24的2进制串,而对于每个方案也可以这样表示对于每个方案表示的状态ststst,实际上是求∑st&i!=0ai\sum_{st \& i !原创 2021-09-14 23:14:52 · 196 阅读 · 0 评论 -
F. Bits And Pieces (SOSdp)
题目大意:长度为n(≤1e6)n(\le 1e6)n(≤1e6)的序列aaa,找到最大的ai∣(aj&ak)a_i|(a_j\&a_k)ai∣(aj&ak),i<j<ki<j<ki<j<k解题思路:对于位运算球最大值的题目,一般都会贪心从高位向低位填充的方法先设可挑选的集合为:S0,1,2,...S_{0,1,2,...}S0,1,2,...从后往前枚举aia_iai,然后从最高位贪心枚举,如果枚举到aia_iai的第ppp原创 2021-09-14 17:02:54 · 157 阅读 · 0 评论 -
CF1295F Good Contest(概率+组合数学+dp)
题目大意:aia_iai在[li,ri][l_i,r_i][li,ri]等概率选择一个整数,询问{an}\{a_n\}{an}非递增的概率解题思路(思路来源:crashed):首先能够得到一个非常暴力的dpdpdp方程:dp[i][j]=∑k=max(j,li−1)ri−1dp[i−1][k]dp[i][j]=\sum_{k=max(j,l_{i-1})}^{r_{i-1}}dp[i-1][k]dp[i][j]=∑k=max(j,li−1)ri−1dp[i−1][k],dp[i][j]d原创 2021-09-12 17:16:49 · 110 阅读 · 0 评论 -
CF631E Product Sum(斜率优化dp)
题目大意:一个数组的价值为∑i=1nai⋅i\sum_{i=1}^{n}a_i \cdot i∑i=1nai⋅i,必须执行以下操作一次:将一个数移到某个位置使数组的价值最大解题思路:将lll位置的元素移到rrr位置:△l,r=(al⋅r+al+1⋅l+...+ar⋅(r−1))−(al⋅l+al+1⋅(l+1)+...+ar⋅r)=al⋅(r−l)−(al+1+al+2+...+ar)\bigtriangleup_{l,r}=(a_l\cdot r+a_{l+1}\cdot l + .原创 2021-09-10 20:04:52 · 167 阅读 · 0 评论 -
E. Ciel and Gondolas(决策优化dp)
题目大意:有长度为nnn的序列,将其分为kkk部分[li,ri][l_i,r_i][li,ri],而每部分的代价为:sum[ri][ri]−sum[li−1][ri]−sum[ri][li−1]+sum[li][ri]sum[r_i][r_i]-sum[l_i-1][r_i]-sum[r_i][l_i-1]+sum[l_i][r_i]sum[ri][ri]−sum[li−1][ri]−sum[ri][li−1]+sum[li][ri],而sum[i][j]sum[i][j]sum[i]原创 2021-09-08 20:36:27 · 176 阅读 · 0 评论 -
牛客多校4 G(动态规划+容斥原理+组合数意义)
题目大意:给出n,k,Dn,k,Dn,k,D,要构造的序列ai≥0a_i\ge 0ai≥0,∑i=1nai=D\sum_{i=1}^{n}a_i=D∑i=1nai=D,对于其中一个序列aaa来说它的贡献是D!∏i=1n(ai+k)!\frac{D!}{\prod_{i=1}^{n}(a_i+k)!}∏i=1n(ai+k)!D!,现在要求出圈出可能的aaa序列贡献之和是多少?n,k≤50,D≤108n,k\le 50, D\le 10^8n,k≤50,D≤108解题思路(思路来源:sunri转载 2021-09-07 21:53:24 · 125 阅读 · 0 评论 -
[SCOI2013]数数 (数位dp,神奇的优化)
题目大意:确定进制BBB确定区间[L,R][L,R][L,R]对于[L,R][L,R][L,R]间的每一个数,把该数视为一个字符串,列出该字符串的每一个(连续的)子串对应的BBB进制数的值对所有列出的数求和,结果用十进制表示出来解题思路:(思路来源:ViXbob)首先考虑一个数xxx本身对答案的贡献WWW,设iii为从高到低数的位置,LLL为xxx的长度,S[i]=∑j=1iBj−1S[i] = \sum_{j=1}^iB^{j-1}S[i]=∑j=1iBj−1,W=∑i=1Li⋅a[原创 2021-09-05 21:23:03 · 152 阅读 · 0 评论 -
牛客多校4 B
题目大意:给出一个随机数生成器,每次生成[1,n][1,n][1,n],当且仅当生成的xxx为不小于前面生成的所有值才能继续生成,否则结束。求生成数字的个数平方的期望值。解题思路:(思路来源:Kur1su)要求生成个数平方的期望值,其实先最好先求个数的期望值,再转换到平方设f[x]f[x]f[x]表示当前为x,之后所能得到的数字个数的期望值f[x]=1⋅∑i=1x−1p[i]+(1+f[x])⋅p[x]+∑i=x+1n(1+f[i])∗p[i]f[x]=1\cdot \sum_{i=1}^{x-原创 2021-09-04 10:17:20 · 42 阅读 · 0 评论 -
490F - Treeland Tour 树上最长上升子序列
题目大意:求树上的最长上升子序列解题思路:可以用权值线段树合并来操作,每个点分别存储以该值结束的最长上升子序列以及以该值开始的最长上升子序列,最后合并即可似乎还可以动态规划以及树上启发式合并来做AC代码:#include <bits/stdc++.h>#define ft first#define sd second#define IOS ios::sync_with_stdio(false), cin.tie(0), cout.tie(0)#define seteps(原创 2021-08-23 13:24:15 · 234 阅读 · 0 评论 -
2021牛客暑期多校训练营10 Browser Games (字典树)
题目大意:有n≤1e5n\le1e5n≤1e5个字符串,每天依次发表一个字符串,要求找出最少的前缀使得已经发表的字符串的前缀都能可以被表示,而那些“未发表”的字符串不能够被表示(题目保证了不会出现某个在前面的字符串是另一个在后面的字符串的前缀)空间要求不超过32M解题思路:这题如果没有空间要求就是一道非常裸的字典树,将每个串对应字典树上的节点标为黑点,每次操作会将一个黑点变为白点,目标是将尽可能少的非根节点标红使得任意一个白点到根的路径上都有被标红的节点,且任意一个黑点到根的路径上都没有被标红的原创 2021-08-21 15:38:06 · 445 阅读 · 0 评论 -
2021牛客暑期多校训练营9 G (树上概率dp 对于存在不合法的情况dp启示)
题目大意:有一棵树,树上每个点都有一个球,每秒钟每个球都会向其父亲结点移动。除了跟结点之外,其余每个结点有p的概率为存储点,当球移到存储点则该球从树中删除。另外同一秒钟一个点上不能有一个球以上,即使是存储点也一样,如果出现则整棵树不合法解题思路:首先能够知道的是,如果整颗树是合法的,那么每个结点的子结点最多只有一个不是存储点那么设置score[u]score[u]score[u]为当前结点能够得到的分数,则状态转移为:score[u]=pq∗∑vuson(score[v]+1)score[u]=p原创 2021-08-15 16:03:26 · 189 阅读 · 4 评论 -
[AH2017/HNOI2017]大佬 暴力BFS+双指针
题目大意:洛谷解题思路:五种操作中只有一种与自己的自信值有关,而其他四种的操作在第i天操作或第j天操作都一样(假设只操作依次),即跟天数无关所以可以先通过dpdpdp来求出自己最大的存活天数,再在天数上面做操作设dp[i][j]dp[i][j]dp[i][j]为第iii天jjj自信的最大存活天数,则可以通过O(n2)O(n^2)O(n2)即可求醉最大存活天数问题就转换为:给你n天,能否怼死大佬而怼大佬只与天数和嘲讽值有关,那么先直接BFS+Map判重枚举出所有状态按照嘲讽值从大到小排序就行原创 2021-08-15 11:31:37 · 43 阅读 · 0 评论 -
NOI2009 诗人小G 决策单调性优化
题目大意:洛谷解题思路:设dp[i]为前i个句子产生的最小代价,很容易就能写出转移方程式:dpi=min{dpj+∣si−sj−1−L∣p},si=i+∑j=1ilenj,j∈[0,i−1]dp_i=min\{dp_j+|s_i-s_j-1-L|^p\} ,s_i=i+\sum_{j=1}^{i}len_j,j\in[0,i-1]dpi=min{dpj+∣si−sj−1−L∣p},si=i+∑j=1ilenj,j∈[0,i−1]然后暴力打表发现转移具有单调性,接下来方法同[POI20原创 2021-08-15 11:11:31 · 67 阅读 · 0 评论 -
[IOI2000]邮局 决策单调优化dp
题目大意:在一维坐标轴上,有VVV个村庄,在坐标轴上选择放置PPP个邮局,计算每个村庄和最近的邮局之间所有距离的最小可能总和。1≤P≤300,P≤V≤3000,1≤村庄位置≤100001 \le P \le 300, P \le V \le 3000, 1 \le 村庄位置 \le 100001≤P≤300,P≤V≤3000,1≤村庄位置≤10000解题思路:设dp[i][j]dp[i][j]dp[i][j]表示前iii个村庄放jjj个邮局的最小距离总和,w(i,j)w(i,j)w(i,j)表示村原创 2021-08-15 10:20:59 · 77 阅读 · 0 评论 -
[POI2011]Lightning Conductor 决策优化
题目大意:给定一个长度为nnn的序列{an}\{a_n\}{an},对于每个i∈[1,n]i \in [1,n]i∈[1,n],求出一个最小的非负整数ppp,是的 ∀j∈[1,n]\forall j \in [1,n]∀j∈[1,n],都有aj≤ai+p−∣i−j∣a_j \le a_i+p-\sqrt{|i-j|}aj≤ai+p−∣i−j∣1≤n≤5e5,0≤ai≤1e91 \le n \le 5e5, 0 \le a_i \le 1e91≤n≤5e5,0≤ai≤1e9解题思路:式子可原创 2021-08-15 10:02:09 · 128 阅读 · 0 评论 -
P6302 [NOI2019] 回家路线 加强版(斜率优化dp)
题目大意:给定nnn个点,从111走到nnn;其中有mmm条路径,第i条路径从xix_ixi到yiy_iyi,时间从pip_ipi到qiq_iqi,每次等车t的时间会增加At2+Bt+CAt^2+Bt+CAt2+Bt+C的花费,最后花费加上到达时间即为最终花费,使最终花费最小。解题思路:可能可以实现但太麻烦了的想法:设dp[i][j]dp[i][j]dp[i][j]为到达第i个点j时刻的最小花费,然后dpdpdp方程自然而然可以通过相连的边来转移,但是因为这样子空间时间都超了,时间可以用斜原创 2021-08-08 15:47:28 · 108 阅读 · 0 评论 -
2021牛客暑期多校训练营5 D(简单DP)
题目大意:有两个字符串(len<=5000len<=5000len<=5000),询问有多少对子序列满足下列条件:长度相同∃i∈{1,2,...,∣a∣},Aai<Bbi,∀j∈{1,2,...,i−1},Aaj=Bbj\exist i \in \{1,2,...,|a|\}, A_{ai}<B_{bi}, \forall j \in \{1,2,...,i-1\},A_{aj}=B_{bj}∃i∈{1,2,...,∣a∣},Aai<Bbi,∀j∈{1,2,.原创 2021-08-05 14:55:56 · 74 阅读 · 0 评论 -
洛谷P4852单调队列优化动态规划
题目大意:解题思路:题目所要求的是欧气之和最大,则等价于欧气损失最小,而欧气损失当且仅当在连抽时会有损失,所以我们设一个bbb数组,b[i]=∑ii+c−1a[i]b[i]=\sum_{i}^{i+c-1}a[i]b[i]=∑ii+c−1a[i],即代表如果连抽的开头选iii,那么损失就为b[i]b[i]b[i]再观察题目条件,要求不能连续单抽d次,所以每相邻的连抽间隔(即前一次的最后与后一次的开头)不能超过d,而且每次连抽之间不能互相影响题目通过上述条件就转换为:选择 nnn 个 bib_i原创 2021-08-05 10:54:31 · 65 阅读 · 0 评论 -
2021牛客暑期多校训练营1 Increasing Subsequence
#include <bits/stdc++.h>#define endl "\n"using namespace std;typedef long long ll;const ll mod = 998244353;const int maxn = 5e3 + 10;int n, a[maxn];int cnt[maxn], sum[maxn], pos[maxn];ll inv[maxn], dp[maxn][maxn];//dp[i][j]代表上一次自己选了第i小的,对方刚选j原创 2021-07-18 21:01:07 · 201 阅读 · 0 评论 -
Codeforces Round #722 (Div. 1)_B(线性dp)
Codeforces Round #722 (Div. 1)_B题目大意:2n2n2n个在xxx轴,第iii个点所在的位置为x=ix=ix=i。从2n2n2n个点选出nnn个区间(每个点都要被选),如果满足任意两个区间满足以下任意一种情况:大的区间完全包含小区间两个区间有相同长度则说明是好的区间序列,问:有多少个好的区间序列,答案对998244353取模。解题思路:设dp[i]dp[i]dp[i],为2i2i2i个点的总方案。引理:定义x为匹配1的点。当p(x<p<=2n)原创 2021-05-29 20:07:40 · 87 阅读 · 0 评论 -
BZOJ 3566: [SHOI2014]概率充电器 期望DP + 树形DP (非常重要的父节点对节点也有影响的题目)
#include <bits/stdc++.h>using namespace std;const int maxn = 5e5 + 10;int tot = 1, Head[maxn], To[maxn << 1], Next[maxn << 1];double L_p[maxn << 1];double p[maxn];double f[maxn], g[maxn], h[maxn];// f[i]代表整个子树给他供不上电的概率,g[i]代表由原创 2020-09-17 18:03:30 · 103 阅读 · 0 评论 -
CF628 D. Magic Numbers
题目大意:给你一个m,k,然后输入一个正整数a,和正整数b,(a,b的长度小于等于2000),问a到b中有多少魔力数字,所谓魔力数字就是,从高位到低位,偶数位置的数都是k,奇数位的数不能是k,并且这些数能被m整除。解题思路:老思路,设dp[pos][sta] 为枚举到第pos位,当前数%m等于sta的答案个数AC代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;const ll Mod = 1e原创 2020-08-20 23:14:14 · 114 阅读 · 0 评论 -
CF401D. Roman and Numbers
题目大意: 将一个x的数位重组能够等于n,并且x%m=0,没有前导零,问有多少个这样的x?解题思路:mmp,一开始以为状压不可以,结果2^18=262144,意外(看题解)的发现可以,又因为m<=100,则可以设dp[262144 + 10][111]则dp[p][Mod],(p拆分成二进制,选1的个数以及位置)的状态,对m取模=Mod 时满足条件的总个数AC代码:#include <bits/stdc++.h>using namespace std;typedef lo原创 2020-08-20 22:58:56 · 136 阅读 · 0 评论 -
Poj 3208 Apocalypse Someday(数位dp + 二分)
题目大意: 有三个连续的6在一起的数就是beast数,前几个beast数是:666,1666,2666,… T组数据,每组询问排名为n的beast的数是什么?解题思路第一眼看到懵逼了,不是通常问这种类型的数在某个区间有多少个吗,为啥子这样问思考ing…我只要二分一下每个数,对每个数都求一遍数位dp,算出在这个数范围内有多少个这样的数,而且是答案是满足单调递增的!!!剩下的思路:就是参考 hdu不要62, 改成不要666 即可AC代码:#include <iostream>原创 2020-08-20 22:44:15 · 134 阅读 · 0 评论 -
CF55D Beautiful numbers (数位dp+离散化)
题目大意: 一个数能被他的各个数位相除,则是一个beautifulnumberbeautiful\quad numberbeautifulnumber,TTT组数据,询问每个区间有多少个beautifulnumberbeautiful\quad numberbeautifulnumber解题思路:(来自:https://blog.csdn.net/u013081425/article/details/38908893)如果被各个数位整除,那么一定被其最小公倍数整除因此记忆化搜索中的参数除了pos原创 2020-08-20 22:30:34 · 80 阅读 · 0 评论 -
BZOJ 1026
题目大意: windy定义了一种windy数。不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数?(来源于:黑暗爆炸oj)解题思路:数位dp,加个前导0的判断条件以及设dp[i][sta]dp[i][sta]dp[i][sta]代表第i+1i+1i+1位选stastasta的总个数AC代码:#include <bits/stdc++.h>using namespace std;typedef原创 2020-08-19 22:45:15 · 95 阅读 · 0 评论 -
BZOJ 1833 [ZJOI2010]count 数字计数
题目大意: 给定正整数aaa和bbb,求在[a,b][a,b][a,b]区间内,各个数码出现了几次解题思路:设dp[i][j][k]dp[i][j][k]dp[i][j][k]为从最高位到第iii位有kkk个jjj的方案数然后记忆化搜索即可,注意:不能有前导0AC代码:#include <bits/stdc++.h>using namespace std;typedef long long ll;ll num[20];ll a, b, dp[20][20]; // 省略原创 2020-08-19 22:38:31 · 82 阅读 · 0 评论 -
BZOJ 3329 Xorequ (数位dp + 矩阵快速幂)
题意: 给定正整数nnn, 现有如下方程x⊕3x=2xx\oplus3x=2xx⊕3x=2x 任务如下:求出小于等于nnn的正整数中,有多少个是该方程的解求出小于等于2n2^{n}2n的正整数中,有多少个是该方程的解,模109+710^9+7109+7解题思路:问题一:将原式子变换x⊕2x=3x=x+2xx\oplus2x=3x=x+2xx⊕2x=3x=x+2xxxx xorxorxor yyy ≤\le≤ xxx ororor yyy ≤\le≤ x+yx + yx+y因此原创 2020-08-19 22:30:13 · 124 阅读 · 0 评论 -
Codeforces 1303E.Erase Subsequences(dp压维)
题目链接: https://codeforces.ml/problemset/problem/1303/E解题思路: 参考大佬的视频:https://www.bilibili.com/video/BV1H74113746 from=search&seid=5562208735290586020 自我吐槽:这都能dp… 将ttt字符串分成前后两个字符串t1t1t1,t2t2...原创 2020-05-08 00:12:45 · 266 阅读 · 0 评论 -
每日一道dp题:codeforces:1336C. Kaavi and Magic Spell 区间dp
转载加上自己的理解:https://www.cnblogs.com/pigzhouyb/p/12755540.html题目大意: 两个字符串S和T,长度分别为n和m,还有一个空串A 问:每次可以删掉S的第一个字符,然后放到一个初始为空的字符串A的首部或尾部,求有多少种不同的方法使得最后T是A的前缀。 题目链接:https://codeforces.ml/problemset/prob...转载 2020-05-02 11:28:15 · 363 阅读 · 0 评论