2015 Multi-University Training Contest 10
1001 CRB and Apple
1002 CRB and Candies
1003 CRB and Farm
1004 CRB and Graph
1005 CRB and His Birthday
加一维0和1表示有没有拿过这种糖。
然后完全背包滚动数组过去就可以了。
然而实际上不用加这一维。直接先0-1再完全就可以了。
因为第一个的时候收益是a+b。后面的收益是a。
如果第一个都不拿。后面自然不会拿了。
# include <iostream>
# include <cstdio>
# include <cstring>
# include <algorithm>
using namespace std;
int dp[][]; int main(void)
{
int T; cin>>T;
while(T--)
{
int M,N; scanf("%d%d",&M,&N);
memset(dp,,sizeof(dp));
for(int i=;i<=N;i++)
{
int w,a,b;
scanf("%d%d%d",&w,&a,&b);
for(int j=;j<=M;j++) dp[j][]=max(dp[j][],dp[j][]);
for(int j=M;j>=w;j--) dp[j][]=dp[j-w][]+a+b;
for(int j=w;j<=M;j++) dp[j][]=max(dp[j][],dp[j-w][]+a);
}
printf("%d\n",max(dp[M][],dp[M][]));
}
return ;
}
Aguin
1006 CRB and Puzzle
1007 CRB and Queries
1008 CRB and Roads
1009 CRB and String
保证s是t的子序列。
如果t的前k个字母是一样的。s的前k个也要是这个字母。
满足两条即可。
# include <iostream>
# include <cstdio>
# include <cstring>
using namespace std;
# define maxn
char s[maxn],t[maxn]; int main(void)
{
int T; cin>>T;
while(T--)
{
scanf("%s%s",s+,t+);
int slen=strlen(s+),tlen=strlen(t+);
int ok=,pos=,len=;
for(int i=;i<=tlen;i++)
{
if(t[i]!=t[]) break;
len=i;
}
for(int i=;i<=len;i++) if(s[i]!=t[]) {ok=;break;}
for(int i=;i<=tlen;i++)
{
if(s[pos]==t[i]) pos++;
if(pos>slen) break;
}
if(pos<=slen) ok=;
puts(ok?"Yes":"No");
}
return ;
}
Aguin
1010 CRB and Substrings
1011 CRB and Tree
2015 Multi-University Training Contest 10的更多相关文章
- hdu 5416 CRB and Tree(2015 Multi-University Training Contest 10)
CRB and Tree Time Limit: 8000/4000 MS (J ...
- 2015 Multi-University Training Contest 10 hdu 5406 CRB and Apple
CRB and Apple Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- 2015 Multi-University Training Contest 10 hdu 5412 CRB and Queries
CRB and Queries Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Other ...
- 2015 Multi-University Training Contest 10(9/11)
2015 Multi-University Training Contest 10 5406 CRB and Apple 1.排序之后费用流 spfa用stack才能过 //#pragma GCC o ...
- 2016 Multi-University Training Contest 10
solved 7/11 2016 Multi-University Training Contest 10 题解链接 分类讨论 1001 Median(BH) 题意: 有长度为n排好序的序列,给两段子 ...
- [二分,multiset] 2019 Multi-University Training Contest 10 Welcome Party
Welcome Party Time Limit: 4000/4000 MS (Java/Others) Memory Limit: 524288/524288 K (Java/Others)T ...
- 2015 Multi-University Training Contest 10 hdu 5411 CRB and Puzzle
CRB and Puzzle Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- 2015 Multi-University Training Contest 10 hdu 5407 CRB and Candies
CRB and Candies Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)T ...
- hdu 5407 CRB and Candies(组合数+最小公倍数+素数表+逆元)2015 Multi-University Training Contest 10
题意: 输入n,求c(n,0)到c(n,n)的所有组合数的最小公倍数. 输入: 首行输入整数t,表示共有t组测试样例. 每组测试样例包含一个正整数n(1<=n<=1e6). 输出: 输出结 ...
- HDU5406---CRB and Apple( DP) 2015 Multi-University Training Contest 10
题意比较简单, dp[i][j] 表示上一次男女吃的deliciousness分别为i, j的时候的吃的最多的苹果. 那么dp[i][j] = max(dp[i][k] + 1), 0 < ...
随机推荐
- Attribute的理解和认识
1什么是Attribute? 在网上看到这样一段定义 MADN的定义为:公共语言运行时允许添加类似关键字的描述声明,叫做attributes, 它对程序中的元素进行标注,如类型.字段.方法和属性等.A ...
- Tomcat7性能调优
open files 修改linux系统open files限制,通过ulimit –a可看到系统默认的一个进程最大打开文件数为1024,linux系统中一切皆为文件,包含socket连接,需将些值调 ...
- vector,list,deque
stl提供了三个最基本的容器:vector,list,deque. vector和built-in数组类似,它拥有一段连续的内存空间,并且起始地址不变,因此它能非常好的支持随即存取,即[]操作符,但由 ...
- VS2015转VS2008
对于Windows8及以上的系统,无法安装VS2008,也不是无法安装,如果玩游戏多的,应该已经安装了.NET3.5,可以正常安装. 既然不能安装VS2008,那就安装VS2015好了,现在已经是Up ...
- C#的初步学习,心得
- Hive 安装过程中的问题
org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address 0.0.0.0/0. ...
- 解决ubuntu 里面vi的时候上下左右是ABCD删除也不起作用
解决ubuntu 里面vi的时候上下左右是ABCD,backspace也不起作用 cp /etc/vim/vimrc ~/.vimrc 用remove vim-common然后再install v ...
- Android;设置TextView加粗 代码设置
我用过paint的那种方式,不好使. private void setTextBold(TextView textView) { //android中为textview动态设置字体为粗体 textVi ...
- PLSQL 几种游标的用法
分类: Oracle 1. PL/SQL里的游标可以分为显式和隐式两种,而隐式有分为select into隐式游标和for .. in 隐式游标两种.所以,我们可以认为,有3种游标用法: A. 显式游 ...
- LeetCode 之 Triangle
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...