[Dynamic programming]动态规划
Zeolim
这个作者很懒,什么都没留下…
展开
-
[主席树单点更新区间极值动态开点][最长上升子序列] CodeForces 474 F. Pathwalks
题意:给定一张图 联通或不联通, 求最大的路径长度使得路径边号递增且权值递增其实就是 线段树/树状数组 求最长上升子序列且限制转移条件为边两点时才能转移考虑建1e5棵线段树/树状数组进行维护 下标是权值 值是以下标为结尾的lis必然爆炸,所以用主席树动态开点维护查询即可 代码瞎搞一下就行#include <bits/stdc++.h>using nam...原创 2019-10-21 20:21:37 · 282 阅读 · 0 评论 -
[DP][bitset][线段树]练习赛53 A C E
A 超越学姐爱字符串 A:超越学姐非常喜欢自己的名字,以至于英文字母她只喜欢“c”和“y”。因此超越学姐喜欢只含有“c”和“y”的字符串,且字符串中不能出现两个连续的“c”。请你求出有多少种长度为n的字符串是超越学姐喜欢的字符串。答案对1e9+7取模。解题思路:设dp[MAXN][2] 代表第i个位置是c 或 y的情况数有dp[1][0] = dp[1][1] =1 则每...原创 2019-10-16 21:20:44 · 260 阅读 · 0 评论 -
[树上DP] I 2019 P2634 [国家集训队]聪聪可可
求树上简单路径长度为2019倍数的路径条数解题思路 :二维状态dp[i][j]代表i节点的子树上所有点到i的距离为j的个数考虑两点u, v,两点间的贡献为ans += dp[u][i] * dp[v][(2019 - i - v + 2019) % 2019]; i =0 - 2018此时u的贡献会转移为dp[u][(i + val(边权)) % 2019] += d...原创 2019-10-08 20:54:07 · 280 阅读 · 0 评论 -
[dp]第十届蓝桥杯国赛CB组C
题意:任选素数组合为2019, 求总方案数。计数dp傻逼题场上死活跑不出来结果, 一进循环素数表就变零,从头调到尾无fuck说,八字不合答案:55965365465060/* Zeolim - An AC a day keeps the bug away*///#pragma GCC optimize(2)#include <bits/stdc++.h&...原创 2019-05-26 13:43:40 · 487 阅读 · 0 评论 -
[概率dp] 流浪地球
现在告诉你每只救援队的目标发动机的编号以及这只救援队在规定时间内成功救援的概率,假如有至少k个行星发动机能够得到重启,则认为地球会被拯救。请你设计一个程序,帮助人类完成这个计算。第一行给出N,M,K。N代表人类派出的救援队总数,M代表被摧毁的行星发动机,K代表至少需要重启的行星发动机总数。(1<=N<=1e5,K<=M<=2000)接下来N行,每行给出ai,pi,...原创 2019-05-14 10:57:54 · 183 阅读 · 0 评论 -
[DP] D. Beautiful Array
http://codeforces.com/problemset/problem/1155/D基础的线性dp先导知识点:最大子段和 dp[i] = max(dp[i - 1] + arr[i] , 0)dp[0]转移最大子段和dp[1]转移dp[0]正在乘val的最大子段和dp[2]转移dp[1]乘val后的最大子段和 ll ans = 0; for(in...原创 2019-05-01 08:34:50 · 389 阅读 · 0 评论 -
[DP] 简单的烦恼
此题是一个有条件限制的01背包解法1:首先 最大体积肯定是其次 易得大于体积 t 的状态只能由小于 t 的状态转移而来解法2:最大答案肯定是 t 体积以内的最大非 t 体积 + max val[i]所以对物品排序, 用t体积背前n - 1个物品, 然后加上max val[i]int main(){ ios::sync_with_stdio(fal...原创 2019-04-21 18:44:48 · 209 阅读 · 0 评论 -
[动态规划]51nod 1101 换零钱
1101 换零钱N元钱换为零钱,有多少不同的换法?币值包括1 2 5分,1 2 5角,1 2 5 10 20 50 100元。例如:5分钱换为零钱,有以下4种换法:1、5个1分2、1个2分3个1分3、2个2分1个1分4、1个5分(由于结果可能会很大,输出Mod 10^9 + 7的结果)收起输入输入1个数N,N = 100表示1元钱。(1 <= N ...原创 2019-03-27 13:50:22 · 270 阅读 · 0 评论 -
[洛谷] P1508 吃吃吃
简单DP注意最后取值即可//#pragma GCC optimize(2)#include <cstdio>#include <iostream>#include <cstdlib>#include <cmath>#include <cctype>#include <string>#include ...原创 2018-10-18 09:57:49 · 243 阅读 · 0 评论 -
[模板] 循环数组/数组的最大子段和
数组的最大子段和不断保留当前段的最大值, 时间复杂度O(n)初始段为首位元素若该段加下一元素比下一元素大则段加和有意义且可累积更大和若非则断段, 段从下一元素开始从新累计 循环数组则要考虑首尾相接是和最大的情况若首尾相接 则必定有 中间段之和最负求出最负段的和 用总元素和减去最负段的和即为该情况的解具体可用所有元素取负后再求最大子段和该和求负即为...原创 2018-10-12 11:01:53 · 198 阅读 · 0 评论 -
[洛谷] P1091 合唱队形
思路很好想 从前从后两遍最长上升子序列 而且要用n方的算法 nlogn不易记录当前位值数据不严谨 题目要求是先递增后递减序列结果数据给了全递增数列 也算合法 真的是醉醉的//#pragma GCC optimize(2)#include <cstdio>#include <iostream>#include <cstdlib>#in...原创 2018-09-20 17:05:28 · 293 阅读 · 0 评论 -
[洛谷] P1515 旅行
dfs 递推 都是15ms递推://#pragma GCC optimize(2)#include <cstdio>#include <iostream>#include <cstdlib>#include <cmath>#include <cctype>#include <string>#incl...原创 2018-09-24 11:41:43 · 534 阅读 · 0 评论 -
[洛谷] P2677 超级书架2
贪心 DP 背包//#pragma GCC optimize(2)#include <cstdio>#include <iostream>#include <cstdlib>#include <cmath>#include <cctype>#include <string>#include <cs...原创 2018-09-24 10:55:55 · 399 阅读 · 0 评论 -
牛客小白月赛7
A.送分题 题目描述做水题就是在浪费时间,但是一场比赛要是没有送分的签到题,大家的比赛体验就会很差。为了优化你的比赛体验又不浪费你的读题时间,我并不打算给你很复杂的故事背景,你只需要复制下面的代码并选择正确的语言提交即可通过此题。 #include<iostream>using namespace std;long long f(long long n){ ...原创 2018-09-19 09:08:03 · 205 阅读 · 0 评论 -
[DP] [01] [洛谷] P1510 味精填海
基础01背包DP考察对背包决策过程的理解#pragma GCC optimize(2)#include <cstdio>#include <iostream>#include <cstdlib>#include <cmath>#include <cctype>#include <string>#in...原创 2018-08-16 07:14:16 · 304 阅读 · 0 评论 -
[DP] [洛谷] P1048 采药
//#pragma GCC optimize(2)#include <cstdio>#include <iostream>#include <cstdlib>#include <cmath>#include <cctype>#include <string>#include <cstring>原创 2018-08-11 16:19:26 · 284 阅读 · 0 评论 -
[DP][DFS]P1164 小A点菜
没有任何思路//#pragma GCC optimize(2)#include <cstdio>#include <iostream>#include <cstdlib>#include <cmath>#include <cctype>#include <string>#include <cstr...原创 2018-08-11 16:18:25 · 197 阅读 · 0 评论 -
[DP] [01背包] [洛谷] P1060 开心的金明
基础01背包练习value of j[i] equal to vj[i] * wj[i] #pragma GCC optimize(2)#include <cstdio>#include <iostream>#include <cstdlib>#include <cmath>#include <cctype>...原创 2018-08-11 16:17:22 · 178 阅读 · 0 评论 -
[DP] [模板] 01背包
1.标准模板以横轴坐标为体积以纵轴坐标为当前物品至首物品则 dp[i][j] 即为 OPT(体积j, 物品1 - i)//#pragma GCC optimize(2)#include <cstdio>#include <iostream>#include <cstdlib>#include <cmath>#include...原创 2018-08-11 15:14:12 · 178 阅读 · 0 评论