随笔分类 -  DP

摘要:"传送门" 状压dp $O(2^n)$预处理出来一行的合法状态,然后构造dp转移方程: $f_{i,j,k}表示第i行,此行状态为j,填了k个king时的方案数$ 则转移方程为:$$f_{i,j,k}=\sum f_{i 1,s,k cnt(j)}\big(j,s\in 合法状态集合\big)$$好 阅读全文
posted @ 2017-09-28 18:29 玫葵之蝶 阅读(134) 评论(0) 推荐(0)
摘要:"传送门" (明明这么一个水题,我居然被坑了这么久) 数位dp。 首先前缀和,答案就是solve(b) solve(a 1),然后预处理dp,每次统计答案。 可以看 "这篇blog" 代码: cpp / Problem: 1026 User: stone41123 Language: C++ Res 阅读全文
posted @ 2017-09-27 10:55 玫葵之蝶 阅读(230) 评论(0) 推荐(0)
摘要:"传送门" 首先,很简单的dp方程: $$f_i=max(s_i s_j)(j\in [i m,i])$$然后发现$s_i$与$j$无关,可以提出来: $$f_i=s_i min(s_j)(j\in [i m,i])$$发现这个方程可以用数据结构优化,比如线段树,树状数组等等,我这里推荐用st表。 阅读全文
posted @ 2017-09-26 11:24 玫葵之蝶 阅读(455) 评论(0) 推荐(0)
摘要:"传送门" 今天的斜率优化dp第二题,被自己坑了好长时间 一开始dp方程都错了,还过了样例。。。 正题,斜率方程其实很好推,就是细节比较坑,其它没什么难的,我不说思路了。 $$slope(j,k)=\frac {f_j f_k+s_j^2 s_k^2} {s_j s_k}$$ 代码: cpp inc 阅读全文
posted @ 2017-09-25 20:38 玫葵之蝶 阅读(203) 评论(0) 推荐(0)
摘要:传送门 斜率优化dp 从今天开始练习dp,各种dp 斜率方程:slope(a,b)=(f(a)-f(b))/(y(b+1)-y(a+1)) 代码: 阅读全文
posted @ 2017-09-25 15:40 玫葵之蝶 阅读(174) 评论(0) 推荐(0)
摘要:传送门 首先,异或的话直接讨论不好讨论,那么我们可以按位讨论,对于每一位讨论出来一个结果,然后将结果相加就好了。 然后考虑怎么讨论一位上的结果。 我们可以设出来一个dp方程:f(i)表示i到n的异或和期望值,则初始状态为f(n)=0 dp转移方程就是:其中weight... 阅读全文
posted @ 2017-09-19 11:20 玫葵之蝶 阅读(131) 评论(0) 推荐(0)
摘要:首先是一道比较简单的例题:传送门 题目的提示很明显,元素无重复,然后看看样例,手玩一下,就会发现选的元素在上面对应着上升的位置,而且这还是两个排列,那么就可以建立一个从排列A到排列B的映射,然后就可以转化成为LIS问题了,这个问题是有O(nlogn)的解法的。 代码:... 阅读全文
posted @ 2017-09-16 14:41 玫葵之蝶 阅读(222) 评论(0) 推荐(0)
摘要:传送门 这题是多重背包的二进制分解+01背包处理。 给个图: 我就不多说了,自己看吧。 代码:#include#include#include#include#include#include#include#include#define ll long longus... 阅读全文
posted @ 2017-09-11 15:56 玫葵之蝶 阅读(94) 评论(0) 推荐(0)
摘要:模板:洛谷P3387 关于tarjan大神的算法我也只能抄抄代码了(滑稽) 其实《算法竞赛入门经典:训练指南》里有讲解,很详细。 代码:#include#define ll long longusing namespace std;vector G[10001];in... 阅读全文
posted @ 2017-08-28 20:41 玫葵之蝶 阅读(102) 评论(0) 推荐(0)
摘要:日常水一篇(滑稽)题目描述如果一个数的所有连续三位数字都是大于100的素数,则该数称为三素数数。比如113797是一个6位的三素数数。输入输出格式输入格式: 一个整数n(3 ≤ n ≤ 10000),表示三素数数的位数。输出格式: 一个整数,表示n位三素数的个数m,要... 阅读全文
posted @ 2017-08-23 20:33 玫葵之蝶 阅读(255) 评论(0) 推荐(0)
摘要:题目描述设G为有n个顶点的有向无环图,G中各顶点的编号为1到n,且当为G中的一条边时有i 间的最长路径。输入输出格式输入格式: 输入文件longest.in的第一行有两个整数n和m,表示有n个顶点和m条边,接下来m行中每行输入3个整数a,b,v(表示从a点到b点有条边... 阅读全文
posted @ 2017-08-20 12:25 玫葵之蝶 阅读(103) 评论(0) 推荐(0)
摘要:题目描述帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数。游戏规则如下:1.每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有元素;2.每次取走的各个元素只能是该元素所在行的行首或行尾;3.每次取数都有一个得分... 阅读全文
posted @ 2017-07-12 08:07 玫葵之蝶 阅读(163) 评论(0) 推荐(0)
摘要:题目描述鼹鼠是一种很喜欢挖洞的动物,但每过一定的时间,它还是喜欢把头探出到地面上来透透气的。根据这个特点阿牛编写了一个打鼹鼠的游戏:在一个n*n的网格中,在某些时刻鼹鼠会在某一个网格探出头来透透气。你可以控制一个机器人来打鼹鼠,如果i时刻鼹鼠在某个网格中出现,而机器人... 阅读全文
posted @ 2017-07-12 07:53 玫葵之蝶 阅读(136) 评论(0) 推荐(0)
摘要:题目描述某乡有n个村庄(1using namespace std;int n,all;int a[22][22];int f[22][1100000];int main(){ cin>>n; all=(1>=1,i++)if(ss&1) fo... 阅读全文
posted @ 2017-07-11 20:57 玫葵之蝶 阅读(145) 评论(0) 推荐(0)
摘要:题目描述Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next... 阅读全文
posted @ 2017-07-11 20:46 玫葵之蝶 阅读(145) 评论(0) 推荐(0)
摘要:题目描述kkk做了一个人体感觉分析器。每一天,人都有一个感受值Ai,Ai越大,表示人感觉越舒适。在一段时间[i, j]内,人的舒适程度定义为[i, j]中最不舒服的那一天的感受值 * [i, j]中每一天感受值的和。现在给出kkk在连续N天中的感受值,请问,在哪一段时... 阅读全文
posted @ 2017-07-06 09:57 玫葵之蝶 阅读(124) 评论(0) 推荐(0)