Processing math: 100%

随笔分类 -  算法-动态规划

摘要:"传送门" Solution 一个显然的贪心:选的点数越多越好。这个随便推推就知道了。 那么我们就贪心的从一列上挑最靠下的转移 直接转移不斜率优化复杂度O(nm),吸一口O2过了。。。 Code cpp //By Menteur_Hxy pragma GCC optimize(2) includ 阅读全文
posted @ 2018-10-19 20:49 Menteur_hxy 阅读(138) 评论(0) 推荐(0) 编辑
摘要:"传送门" Solution 前几天刚做了类似题,这种将一个序列拆分为两个单调序列的题一般都是设dp[i]表示i为一个单调序列的末尾时,另一个序列的末尾是多少 然后应用贪心的思想,在这道题中就是让另一个序列末尾最小。 另外这道题还有长度的限制,不过由于总长知道,只需记其中一个的序列长度即可 Co 阅读全文
posted @ 2018-10-18 15:06 Menteur_hxy 阅读(203) 评论(0) 推荐(0) 编辑
摘要:"传送门" Solution 把状态都记上暴力转移即可 Code cpp //By Menteur_Hxy include include include include include include include include define Re register define Ms(a,b 阅读全文
posted @ 2018-10-11 16:37 Menteur_hxy 阅读(143) 评论(0) 推荐(0) 编辑
摘要:"传送门" Solution 两个dp分开处理, 第一问什么都不考虑直接dp 第二问还有些疑惑,姑且先留坑 Code 阅读全文
posted @ 2018-10-08 19:52 Menteur_hxy 阅读(149) 评论(0) 推荐(0) 编辑
摘要:"传送门" Solution 显然用哈希233 设f[i][j]表示第i个通配符和当前第j个字符是否匹配 考虑两种通配符的特性,直接转移即可 Code cpp include include include include include define F(i,a,b) for(register 阅读全文
posted @ 2018-10-03 22:30 Menteur_hxy 阅读(243) 评论(0) 推荐(0) 编辑
摘要:"传送门" 吐槽洛谷难度标签qwq Solution 显然是一道神奇的DP,由于总钱数不变,我们只需要枚举前两个人的钱数就可知第三个人的钱数 DP的时候先枚举只用前k个币种,然后枚举前两个人的钱数,然后枚举转移即可 Code cpp include include include include i 阅读全文
posted @ 2018-10-02 16:43 Menteur_hxy 阅读(302) 评论(0) 推荐(0) 编辑
摘要:"传送门" Solution 可以发现实际上是把n分为几个循环节,然后找循环节的lcm是这次的排数 而lcm必然是一些最高次幂的质数的成积,那么就dp求一下所有情况就好了 PS:注意并不是必须要等于n小于n都行,因为可以在后面补1而lcm不变 Code cpp include inclu 阅读全文
posted @ 2018-10-02 16:38 Menteur_hxy 阅读(242) 评论(0) 推荐(0) 编辑
摘要:"传送门" Description C 国有n 个大城市和m 条道路,每条道路连接这n 个城市中的某两个城市。任意两个 城市之间最多只有一条道路直接相连。这m 条道路中有一部分为单向通行的道路,一部分 为双向通行的道路,双向通行的道路在统计条数时也计为1 条。 C 国幅员辽阔,各地的资源分布情况各不 阅读全文
posted @ 2018-09-14 16:12 Menteur_hxy 阅读(191) 评论(0) 推荐(0) 编辑
摘要:"传送门" Description 有一个h行w列的棋盘,里面有一些格子是不能走的,现在要求从左上角走到右下角的方案数。 Input 单组测试数据。 第一行有三个整数h, w, n(1 ≤ h, w ≤ 10^5, 1 ≤ n ≤ 2000),表示棋盘的行和列,还有不能走的格子的数目。 接下来n行描 阅读全文
posted @ 2018-09-10 16:05 Menteur_hxy 阅读(249) 评论(0) 推荐(0) 编辑
摘要:"传送门" Solution 设dp方程dp[now][pos][red][fla]表示还有now个位置,pos表示匹配到第几位,red表示左括号数 右括号数,fla表示是否已经是给定串的字串 暴力转移即可 Code 优美的记搜: cpp include include include includ 阅读全文
posted @ 2018-09-08 11:22 Menteur_hxy 阅读(218) 评论(0) 推荐(0) 编辑
摘要:"传送门" Solution 一道比较好的dp题 想了半天组合数QAQ 首先要知道的是 A include include include include define F(i,a,b) for(register int i=(a);i n m; for(int i=0;(1 i)&1,c=j&1; 阅读全文
posted @ 2018-09-07 20:19 Menteur_hxy 阅读(261) 评论(0) 推荐(0) 编辑
摘要:子串 "传送门" Solution f[i][j][k]表示A到i,B到j第k个子串的答案 g[i][j][k]表示A到i,B到j第k个子串且A[i]一定使用 g[i][j][k]=(A[i]==B[j])?f[i1][j1][k1]+g[i1][j1][k]:0 $f[i][ 阅读全文
posted @ 2018-08-21 19:38 Menteur_hxy 阅读(164) 评论(0) 推荐(0) 编辑
摘要:"传送门" Description 一场战争正在A国与B国之间如火如荼的展开。 B国凭借其强大的经济实力开发出了无数的远程攻击导弹,B国的领导人希望,通过这些导弹直接毁灭A国的指挥部,从而取得战斗的胜利!当然,A国人民不会允许这样的事情发生,所以这个世界上还存在拦截导弹。 现在,你是一名A国负责导弹 阅读全文
posted @ 2018-08-16 19:13 Menteur_hxy 阅读(285) 评论(0) 推荐(0) 编辑
摘要:"传送门" Description 被污染的灰灰草原上有羊和狼。有N只动物围成一圈,每只动物是羊或狼。 该游戏从其中的一只动物开始,报出[1,K]区间的整数,若上一只动物报出的数是x,下一只动物可以报[x+1,x+K]区间的整数,游戏按顺时针方向进行。每只动物报的数字都不能超过M。若一只动物报了M这 阅读全文
posted @ 2018-08-08 19:26 Menteur_hxy 阅读(325) 评论(0) 推荐(0) 编辑
摘要:"传送门" Description Branimirko是一个对可爱精灵宝贝十分痴迷的玩家。最近,他闲得没事组织了一场捉精灵的游戏。游戏在一条街道上举行,街道上一侧有一排房子,从左到右房子标号由1到n。 刚开始玩家在k号房子前。有m个精灵,第i只精灵在第A[i]栋房子前,分值是B[i],以及它在T[ 阅读全文
posted @ 2018-08-07 22:08 Menteur_hxy 阅读(243) 评论(0) 推荐(0) 编辑
摘要:"传送门" Description 有两个仅包含小写英文字母的字符串 A 和 B 。 现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来得到一个新的字符串。请问有多少种方案可以使得这个新串与字符串 B 相等? 注意:子串取出的位置不 阅读全文
posted @ 2018-08-01 17:19 Menteur_hxy 阅读(263) 评论(0) 推荐(0) 编辑
摘要:"传送门" Description 给你一张 n 个点 m 条边的DAG,1 号节点没有入边。再向这个DAG中加入边 x→y ,求形成的新图中以 1 为根的外向树形图数 模 10^9+7 。 Input 输入文件的第一行包含四个整数 n、m、x和y,依次代表枫叶上的穴位数、脉络数,以及要添加的脉络是 阅读全文
posted @ 2018-07-27 19:22 Menteur_hxy 阅读(160) 评论(0) 推荐(0) 编辑
摘要:"传送门" Description 给定两个正整数a和b,求在[a,b]中的所有整数中,每个数码(digit)各出现了多少次。 Input 输入文件中仅包含一行两个整数a、b,含义如上所述。 Output 输出文件中包含一行10个整数,分别表示0 9在[a,b]中出现了多少次。 Sample Inp 阅读全文
posted @ 2018-07-26 20:29 Menteur_hxy 阅读(286) 评论(0) 推荐(0) 编辑
摘要:"传送门" Description Input 第一行一个整数N(N include include include include define F(i,a,b) for(register int i=(a);i=0&&jud[nxt]) dp[i+1][k][l][1]=1; nxt+=2; i 阅读全文
posted @ 2018-07-26 00:09 Menteur_hxy 阅读(350) 评论(0) 推荐(0) 编辑
摘要:"传送门" Description 一颗树n个点,n 1条边,经过每条边都要花费一定的时间,任意两个点都是联通的。 有K个人(分布在K个不同的点)要集中到一个点举行聚会。 聚会结束后需要一辆车从举行聚会的这点出发,把这K个人分别送回去。 请你回答,对于i=1~n,如果在第i个点举行聚会,司机最少需要 阅读全文
posted @ 2018-07-25 19:45 Menteur_hxy 阅读(265) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示