上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 25 下一页
摘要: 【算法】DP+数学计数 【题意】给出n个点(不同点之间有区别),求出满足下列条件的连边(双向边)方案(对1004535809取模): 1.每条边连接两个不同的点,每两个点之间至多有一条边。 2.不存在三个点a,b,c使三个点间两两可以互相到达且两两之间最短距离相等。 3.边的长度均为1。 n<=20 阅读全文
posted @ 2017-08-07 16:56 ONION_CYC 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 【算法】区间DP 【题意】平面上有n个点(xi,yi),用最少个数的底边在x轴上且面积为S的矩形覆盖这些点(在边界上也算覆盖),n<=100。 【题解】随机大数据下,贪心几乎没有错误,贪心出奇迹啊! f[i][j][h]表示区间i~j高度>=h的点全部被覆盖的最少矩形。 首先离散化横纵坐标,然后初始 阅读全文
posted @ 2017-08-06 11:15 ONION_CYC 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 【题意】给你一个串,让你求出k阶回文子串有多少个。k从1到n。k阶子串的定义是:子串本身是回文串,而且它的左半部分也是回文串。 【算法】区间DP 【题解】涉及回文问题的区间DP都可以用类似的写法,就是h[i][j]表示i~j是否回文,然后就可以O(1)判断回文了。 f[i][j]=k表示该字符串是k 阅读全文
posted @ 2017-08-06 11:01 ONION_CYC 阅读(310) 评论(0) 推荐(1) 编辑
摘要: 【题意】给定长度为n的整数序列,求长度为[L,R]的前k大区间和的和。n,k<=500000。 【算法】堆+贪心+RMQ 【题解】考虑暴力是取所有长度为[L,R]的子串的前k大求和,复杂度O(n^2)。 发现左端点相同的区间[l,r]中,最大的区间和就是最大的sum[r](sum是前缀和数组)。 然 阅读全文
posted @ 2017-08-04 12:01 ONION_CYC 阅读(190) 评论(0) 推荐(0) 编辑
摘要: 第一题 题意:n个点,每个点坐标pi属性ai,从右往左将遇到的点向左ai范围内的点消除,后继续扫描。 现可以在扫描开始前提前消除从右往左任意点,问最少消除数(提前+扫描)。 n,pi,ai<=10^6 题解:很蠢的DP,我好蠢啊…… f[i]表示前i个的最少消除数(不含提前) 从左往右添加,每添加一 阅读全文
posted @ 2017-08-04 11:23 ONION_CYC 阅读(213) 评论(0) 推荐(0) 编辑
摘要: Day1 第一题 水题 第二题 题意:一个n*m的字符矩阵从左上到右下,经过字符形成回文串的路径数。n≤500 回文串,考虑两段往中间DP。 f[k][x][y]表示走了k步,左上点横坐标为x,右下点横坐标为y的路径数。 两端2*2四种情况转移,k步这维滚动。 第三题 题意:区间加数,区间覆盖,询问 阅读全文
posted @ 2017-07-31 15:48 ONION_CYC 阅读(240) 评论(0) 推荐(0) 编辑
摘要: 【算法】博弈论+数论 【题意】给定n个石子,两人轮流操作,规则如下: 轮到先手操作时:若石子数<p添加p个石子,否则拿走p的倍数个石子。记为属性p。 轮到后手操作时:若石子数<q添加q个石子,否则拿走q的倍数个石子。记为属性q。 拿走所有石子的人胜利,问先手是否必胜,或输出游戏会永远进行下去。 【题 阅读全文
posted @ 2017-07-28 12:04 ONION_CYC 阅读(287) 评论(0) 推荐(0) 编辑
摘要: 【算法】博弈论+记忆化搜索 【题意】给定n堆石子,两人轮流操作,每个人可以合并两堆石子或拿走一个石子,不能操作者输,问是否先手必胜 【题解】 首先,若所有石子堆的石子数>1,显然总操作数为(石子数+石子堆数-1),奇数先手必胜,偶数先手必败。 若有部分石子堆的石子数=1,情况较复杂,考虑一下五种情形 阅读全文
posted @ 2017-07-28 10:21 ONION_CYC 阅读(516) 评论(0) 推荐(0) 编辑
摘要: 【第一题】 题意: 给一个 01 串设为其 S,询问是否存在只出现两次的 01 串 T。 这里的出现定义为存在一串下标 ,满足 且 。 2≤n≤5000,数据随机。 题解: 很容易想到部分分算法DFS枚举子集。 由于数据随机,n>10时大概率存在,直接输出。 #include<cstdio> #in 阅读全文
posted @ 2017-07-27 17:57 ONION_CYC 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 【算法】区间DP+博弈论 【题解】其实它都不是博弈题…… 很自然的可以设f[i][j]表示i~j先手可取得的最大价值。 容易得到转移式:f[i][j]=max(a[i]+sum[i+1~j]-f[i+1][j],a[j]+sum[i~j-1]-f[i][j-1])。 化简得到f[i][j]=sum[ 阅读全文
posted @ 2017-07-26 17:23 ONION_CYC 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 【算法】博弈论+二分图匹配(最大流) 【题解】方格图黑白染色得到二分图, 二分图博弈:当起点不属于某个最大匹配时,后手必胜。 问题转化为那些点不属于某个最大匹配。 先找到一个最大匹配,非匹配点加入答案。 假设一个匹配点要解放成为非匹配点,则与其匹配的点必须去匹配另一个点。如果另一个点也是匹配点,则其 阅读全文
posted @ 2017-07-25 21:55 ONION_CYC 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 【算法】博弈论+线性基 【题解】 显然第一步取走后留给对手的序列必须不存在子序列异或和为0。 数列的线性基就是最大的值域不含0的子序列,所以取走剩下的就可以了。 从大到小插入线性基,未插入的计入答案。 #include<cstdio> #include<algorithm> using namesp 阅读全文
posted @ 2017-07-25 18:03 ONION_CYC 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 【算法】博弈论 【题解】这道题不是典型的SG函数题了。 不把它当成游戏看待,那么这道题是在说n个石子堆,每次可以加入若干个或进行Nim游戏。 我们当前先手,则考虑构造必败态来获胜。 当前已加入的NIm游戏SG=0,则必须考虑加入石子堆,若加入m堆构造出SG=0,对方有两种选择: 加入新的石子堆,则必 阅读全文
posted @ 2017-07-25 11:50 ONION_CYC 阅读(366) 评论(0) 推荐(0) 编辑
摘要: 【算法】博弈论 【题解】 我们的目的是把游戏拆分成互不影响的子游戏,考虑游戏内的转移。 如果把每堆视为子游戏,游戏之间会相互影响,不成立。 将每堆的一个石子视为子游戏,其产生的石子都在同一个子游戏中。 虽然每堆的每个石子都是不同的子游戏,但显然SG值是可以共用的。 SG[x]表示第x堆上一个石子的S 阅读全文
posted @ 2017-07-24 19:17 ONION_CYC 阅读(280) 评论(0) 推荐(0) 编辑
摘要: 【算法】期望DP+floyd 【题解】用floyd预处理最短距离。 注意重边与自环——图论双毒!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! QAQ 然后搞清楚方案和概率的问题,我们DP是要决策最优方案。 f[i][j][0~1]表示前i个,剩余j份申请资格,当前第i个是否 阅读全文
posted @ 2017-07-24 12:09 ONION_CYC 阅读(331) 评论(0) 推荐(0) 编辑
摘要: 【算法】期望DP 【题解】其实把状态表示出来就是很简单的期望DP。 f[i][j]表示i张红牌,j张黑牌的期望。 i=0时,f[0][j]=0。 j=0时,f[i][0]=i。 f[i][j]=max(0,i/(i+j)*(f[i-1][j]+1)+j/(i+j)*(f[i][j-1]-1))。 直 阅读全文
posted @ 2017-07-23 12:23 ONION_CYC 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 【算法】树型DP+期望DP 【题意】一棵树上每个点均有直接充电概率qi%,每条边有导电概率pi%,问期望有多少结点处于充电状态? 【题解】引用自:【BZOJ3566】【SHOI2014】概率充电器 树形DP 概率DP by 空灰冰魂 最大的难点在于计算每个点充电期望时,两个节点各自的期望都会影响对方 阅读全文
posted @ 2017-07-23 11:29 ONION_CYC 阅读(273) 评论(0) 推荐(0) 编辑
摘要: 【算法】Catalan数 【题解】 学了卡特兰数就会啦>_<! 因为奇偶各自递增,所以确定了奇偶各自的数字后排列唯一。 那么就是给2n个数分奇偶了,是不是有点像入栈出栈序呢。 将做偶数标为-1,做奇数标为+1,显然当偶数多于奇数时不合法,因为它压不住后面的奇数。 然后其实这种题目,打表就可知啦……Q 阅读全文
posted @ 2017-07-20 22:31 ONION_CYC 阅读(342) 评论(0) 推荐(0) 编辑
摘要: 【算法】动态规划 【题解】DP有个特点(递推的特点),就是记录所有可能状态然后按顺序转移。 最优化问题中DP往往占据重要地位。 f[i][j]表示前i头奶牛,第i头改为号码j的最小改动数字,这样每头奶牛改为哪个编号的方案全部记录了,转移可以保证最优。 正反各做一次。 #include<cstdio> 阅读全文
posted @ 2017-07-20 17:25 ONION_CYC 阅读(326) 评论(0) 推荐(0) 编辑
摘要: 【算法】计算几何 【题解】计算所有斜率排序去重。 实数判断相等用fabs(...)≤eps。 ★斜率题一定要注意斜率不存在的情况!!! 其实我觉得这份代码可以hack的…… #include<cstdio> #include<cstring> #include<cmath> #include<alg 阅读全文
posted @ 2017-07-20 16:34 ONION_CYC 阅读(159) 评论(0) 推荐(0) 编辑
上一页 1 ··· 13 14 15 16 17 18 19 20 21 ··· 25 下一页