![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
DP
文章平均质量分 53
xushenbao_123
一个技能树点歪的ACMER
展开
-
UVA 10003 Cutting Sticks
区间DP 对于一个区间如何分割得到最小耗费,是min{该区间各个点进行分割:得到左右区间(子问题)分割最小耗费之和}#include<bits/stdc++.h>;using namespace std;int dp[505][505];int main(){ int l,n,a[55]; while(~scanf("%d",&l)&&l) { scanf(原创 2016-09-21 11:04:22 · 218 阅读 · 0 评论 -
F. Bracket Substring
题意:给你一个括号序列S,再给你一个N,求长度为2N,且含有子串S,满足括号匹配的序列总数。链接:http://codeforces.com/contest/1015/problem/F 思路:首先定义状态,假设有一个合法序列,显然需要满足以下三个状态:长度为2N 满足括号匹配,这里我们不妨设为'('大于')'的数量,如果为0,说明是合法序列 包含子串S所以我们设满足条件的序...原创 2018-08-02 18:50:44 · 565 阅读 · 0 评论 -
leetcode 801.Minimum Swaps To Make Sequences Increasing
链接:https://leetcode.com/contest/weekly-contest-76/problems/minimum-swaps-to-make-sequences-increasing/题意:给两个等长度数组,问交换最少次数使两个数组都变为升序,最少几次?思路:很明显的动规,就是分类麻烦一点点,就是强怼。 针对i和i+1位置有两种情况: 两个数组都已经满足升序,即A[i]cla原创 2018-03-19 22:23:30 · 482 阅读 · 0 评论 -
Codeforces 946D - Timetable
链接:http://codeforces.com/problemset/problem/946/D题意:有n天,每天m节课,总共可以逃k节课,问怎么逃课能使上课时间最短,并输出。思路:按多重背包的思路来考虑,dp[i][j]表示,对于前i天如果第i天逃j节课能少上的时间是多少。vv[i][j]代表对于第i天,如果逃j节课最多能少上的时间。sum[i]代表第i天不逃课要上的时间,z是第i天如果逃z节...原创 2018-03-12 09:16:29 · 212 阅读 · 0 评论 -
842C - Ilya And The Tree
从根节点开始维护一个set,表示如果在该路径上将某点置为0后有多少种可能的gcd,然后在用参数传一个从根到上一个点不用0的gcd,实际上,这个set应该不超过2个(不考虑1),每个点的最大可能值就是和set里的做gcd或者考虑把当前点置为0。#include<bits/stdc++.h>using namespace std;#define MAXN 500005vector<int> v[M原创 2017-08-31 15:41:34 · 254 阅读 · 0 评论 -
664Strange Printer
题目描述: LeetCode 664. Strange PrinterThere is a strange printer with the following two special requirements:The printer can only print a sequence of the same character each time. At each turn, the prin原创 2017-09-04 00:31:25 · 274 阅读 · 0 评论 -
HDU 2059 龟兔赛跑
龟兔赛跑Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 19286 Accepted Submission(s): 7120Problem Description 据说在很久很久以前,可怜的兔子经历了人生中最大的打击——赛跑输给乌原创 2017-06-24 20:04:11 · 241 阅读 · 0 评论 -
HDU 3339
Since 1945, when the first nuclear bomb was exploded by the Manhattan Project team in the US, the number of nuclear weapons have soared across the globe. Nowadays,the crazy boy in FZU named AekdyCoin原创 2017-05-10 15:14:51 · 204 阅读 · 0 评论 -
1548 欧姆诺姆和糖果 51NOD
一天,欧姆诺诺姆来到了朋友家里,他发现了许多糖果。有蓝色和红色两种。他知道每颗红色糖果重Wr克,每颗蓝色糖果重Wb克。吃一颗蓝色糖果会给他带来Hb的欢乐值,吃一颗红色糖果会给他带来Hr的欢乐值。欧姆诺姆最多只能吃C克的糖果,而且每一颗糖果不能只吃一半。现在他想通过吃蓝色和红色的糖果来获得最大的欢乐值。样例解释:每一种糖果吃两颗即可。Input单组测试数据。 输入占一行有四个整数C,Hr,Hb,Wr原创 2017-05-10 15:10:52 · 315 阅读 · 0 评论 -
Attack on Titans ZOJ 3747
Time Limit: 2000ms Memory Limit: 65536KB This problem will be judged on ZJU. Original ID: 3747 64-bit integer IO format: %lld Java class name: MainOver centuries ago, mankind faced a new enemy,原创 2017-05-18 20:56:07 · 236 阅读 · 0 评论 -
省赛热身C题概率DP
DP做法:#include<bits/stdc++.h>using namespace std;#define maxn 105double dp[maxn][maxn],gl[maxn][maxn];int get_dp(int n){ int cnt=0; int z=n; while(z=z>>1) cnt++; memset(dp,0,sizeof(原创 2017-05-11 21:25:19 · 241 阅读 · 0 评论 -
1002 数塔取数问题 51NOD
一个高度为N的由正整数组成的三角形,从上走到下,求经过的数字和的最大值。 每次只能走到下一层相邻的数上,例如从第3层的6向下走,只能走到第4层的2或9上。5 8 4 3 6 9 7 2 9 5例子中的最优方案是:5 + 8 + 6 + 9 = 28 Input第1行:N,N为数塔的高度。(2 <= N <= 500) 第2 - N + 1行:每行包括1层数塔的数字,第2行1个数,第原创 2017-03-01 19:45:55 · 215 阅读 · 0 评论 -
1489 蜥蜴和地下室 51NOD
哈利喜欢玩角色扮演的电脑游戏《蜥蜴和地下室》。此时,他正在扮演一个魔术师。在最后一关,他必须和一排的弓箭手战斗。他唯一能消灭他们的办法是一个火球咒语。如果哈利用他的火球咒语攻击第i个弓箭手(他们从左到右标记),这个弓箭手会失去a点生命值。同时,这个咒语使与第i个弓箭手左右相邻的弓箭手(如果存在)分别失去b(1 ≤ b < a ≤ 10)点生命值。因为两个端点的弓箭手(即标记为1和n的弓箭手)与你相隔原创 2017-04-08 10:53:16 · 340 阅读 · 0 评论 -
51NOD 1009
1009 数字1的数量 基准时间限制:1 秒 空间限制:131072 KB 分值: 5 难度:1级算法题 收藏 关注 给定一个十进制正整数N,写下从1开始,到N的所有正数,计算出其中出现所有1的个数。 例如:n = 12,包含了5个1。1,10,12共包含3个1,11包含2个1,总共5个1。 Input输入N(1 <= N <= 10^9)Output输出包含1的个数Input示例12O原创 2017-02-21 22:29:13 · 226 阅读 · 0 评论 -
HDU 2571 命运 DP
一个比较简单的DP,首先设地图是i行j列,(i:1~m,j:1~n); 开一个数组DP[M+1][N+1],表示到第i行第j列最大幸运值。 先处理边界情况:第i行1列的可以先处理出来。 之后第i行第j列可能从以下几种情况转移过来: 1.i>1,dp[i-1][j],即从上一行转移过来 2.dp[i][j-1],从前一列转移过来 3.可能从dp[i][z]转移过来,{z|1<=z<=j,&原创 2016-11-19 16:02:55 · 371 阅读 · 0 评论 -
CODEFORCE #519 C. Smallest Word
文章目录吐槽:题意:思路:dp思路峡哥找的规律代码题目链接吐槽:这题我还没搞懂题意,峡哥已经A了,猜了个规律就过了,,然后跟我说了下题意,我第一反应DP可以搞,,写了几分钟过了,看题半小时,做题五分钟啊,,,,题意:给你一个只包含’a’与’b’的字符串,你需要从下标1~n,依次决定对当前下标i选择两种操作之一:0.保持不变1.将1~i这个前缀翻转,比如abb -> bba...原创 2018-10-29 22:04:52 · 293 阅读 · 0 评论