题目大意:给定一个字符串,记X[i]为包含s[i]这个字符的所有子列是回文串的个数(注意是子列而不是子串),求出所有的X[i]*(i+1),然后异或起来作为返回结果 题解: 首先用容斥来想,如果当前枚举到i 那么答案就是 1.选i作为中间的字幕,(0, i-1)和(i+1, L)这两个区间相互匹配回文 2.直接选(0, i),(i+1, L)这两个区间相互匹配回文 3.直接选(0, i-1), (i, L)这两个区间相互回文匹配 然后我们发现后两种情况会有重叠情况 我们把这两种情况更细致的分一下…
题目描述 在有向无环图上给你两个起点和终点分别为$a,b,c,d$.问有几种路径方案使得能从$a$走到$b$的同时能从$c$走到$d$,且两个路径没有交点. $1\leq n\leq 200,1\leq m\leq 5000$. -------------------------------------------------------------------- 经过了深刻地思考,你会发现,由于这是一个$DAG$图,我们可以将其转化为动态规划来做,同时我们先要将图建立成一个拓扑图. 然后你又经…
题目传送门 传送门I 传送门II 题目大意 一个无限大的棋盘上有一只马,设马在某个时刻的位置为$(x, y)$, 每次移动可以将马移动到$(x + A_x, y + A_y)$或者$(x + B_x, y + B_y)$.棋盘上有$n$个禁止位置不能经过,问马从$(0, 0)$走到$(E_x, E_y)$的方案数. 容斥是显然的. 每确定经过$k$个禁止位置的方案数的容斥系数是$(-1)^{k}$. 考虑带上容斥系数来动态规划, 注意到去掉重复的禁止位置后,$(0, 0), (E_x, E_y)…
原文链接https://www.cnblogs.com/zhouzhendong/p/SRM502-1000.html SRM502 Div1 1000 题意 从 [0,n-1] 中选择 k 个不同的整数,使得他们的和是 n 的倍数,求方案数.对 \(10^9+7\) 取模. \(n\leq 10^9,k\leq 1000\) 题解 ​ 首先我们考虑从 n 个里面选择 k 个并进行排列的方案数,最终只需要除以 k! 就好了. ​ 设 \(M=n\) : ​ 设 \(f(n,m,t)\) 表示 在…
原文链接https://www.cnblogs.com/zhouzhendong/p/9276479.html 题目传送门 - BZOJ3622 题意 给定两个序列 $a,b$ ,各包含 $n$ 个数字. 现在给 $a$ 中元素与 $b$ 中元素配对.问使得所有配对中 $a_?>b_?$ 的个数比 $a_?<b_?$ 的个数恰好多 $k$ 的方案总数. 答案对 $10^9+9$ 取模,保证 $a$ 和 $b$ 中的所有数字互不相同. $n\leq 2000$ 题解 首先闭着眼睛排个序. 然后,…
[\(Description\)] 网格中每步可以走\((0,\cdots M_x,0\cdots M_y)\)中任意非零向量,有\(K\)种向量不能走,分别是\((r_1,r_1),(r_2,r_2),\cdots , (r_K,r_K)\). \(r_i\)一定是\(10\)的倍数.求从\((0,0)\)走到\((Tx,Ty)\)且走\(R\)步的方案数( \(Tx,Ty,Mx,My\leq 800,R\leq 1600,K\leq 50\)) 无 [\(Input\;Sample\)] 无…
https://www.cnblogs.com/AwD-/p/6600650.html #include<iostream> #include<cstdio> #include<cmath> #include<cstdlib> #include<cstring> #include<algorithm> using namespace std; #define ll long long #define P 1000000007 #def…
原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1634.html 题目传送门 - 51Nod1634 题意 基准时间限制:1 秒 空间限制:131072 KB 分值: 640 难度:8级算法题 计算机科学中,图可以看做是点集和边集所组成的二元组. 通过给每个点设置一个平面坐标,图可以镶嵌在欧几里得平面中.     一个图被认为是刚体,如果该图无法只改变其中一部分的形状,而使得余下的部分的形状保持不变. 例如上图中的 (a) (b) (c) 都是刚…
显然可以转化为一个阶梯状01矩阵每行每列取一个使权值和为k的方案数.直接做不可做,考虑设f[i][j]为前i行权值和至少为j,即在其中固定了j行选1的方案数.设第i行从1~a[i]列都是1且a[i]+1列是0,则f[i][j]=f[i-1][j]+f[i-1][j-1]*(a[i]-j+1).剩下的可以随便填,于是f[n][i]*=(n-i)!.求完之后考虑容斥,权值和恰好为x的在权值和至少为k的方案中被算了C(x,k)次,得ans=Σ(-1)i-kf[n][i]·C(i,k) (i=k~n).…
1042: [HAOI2008]硬币购物 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1747  Solved: 1015[Submit][Status][Discuss] Description 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买si的价值的东西.请问每次有多少种付款方法. Input 第一行 c1,c2,c3,c4,tot 下面tot行 d1,d2,d3,d4,…