BestCoder Round #91 1001 Lotus and Characters
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6011
题意:
Lotus有nn种字母,给出每种字母的价值以及每种字母的个数限制,她想构造一个任意长度的串。
定义串的价值为:第1位字母的价值*1+第2位字母的价值*2+第3位字母的价值*3……
求Lotus能构造出的串的最大价值。(可以构造空串,因此答案肯定\geq 0≥0)
分析:
做这个题目的时候,第一感觉回溯算了,不用想,肯定T了。
#include <bits/stdc++.h> using namespace std; int n;
int val[];
int cnt[];
int len; int dfs(int cur)
{
int ans = ;
if(cur>=len+) return ;
else
{
for(int i=; i<n; i++)
{
if(cnt[i]>)
{
cnt[i]--;
ans = max(ans,(cur+)*val[i]+dfs(cur+));
cnt[i]++;
}
}
}
return ans;
} int main()
{
int t;
scanf("%d",&t); while(t--)
{
scanf("%d",&n);
len = ;
for(int i=; i<n; i++)
{
scanf("%d%d",&val[i],&cnt[i]);
len+=cnt[i];
} printf("%d\n",dfs());
}
return ;
}
后来想DP,直觉告诉我,正权值的放后面。每次计算后面的数值,又不知道前面有多少位,怎么解决这个问题呢?
就类似于前缀和,写一个后缀和,之前的位数不确定,怎么解决呢?
Ans[i] = Ans[i+1] + sum[i+1] +v[i];
状态转移就是多加了一遍后缀和,和首位。最后找一下最好的切割点。
其实这个切割点也可以从后往前找。
#include <bits/stdc++.h> using namespace std; int main()
{
int t;
scanf("%d",&t);
while(t--) {
int n;
scanf("%d",&n); vector<int> v; for(int i=;i<n;i++) {
int val,cnt;
scanf("%d%d",&val,&cnt);
for(int i=;i<cnt;i++) {
v.push_back(val);
}
} sort(v.begin(),v.end()); int len = v.size(); int Ans[];
int sum[]; memset(Ans,,sizeof(Ans));
memset(sum,,sizeof(sum)); for(int i=len-;i>=;i--) {
sum[i] = sum[i+] + v[i];
} for(int i=len-;i>=;i--) {
Ans[i] = Ans[i+] + sum[i+] + v[i];
} int ans = ; //for(int i=0;i<len;i++) {
// ans = max(ans,Ans[i]);
//} for(int i=len-;i>=;i--) {
if(ans<Ans[i])
ans = Ans[i];
else break;
} printf("%d\n",ans);
} return ;
}
BestCoder Round #91 1001 Lotus and Characters的更多相关文章
- BestCoder Round #91 1002 Lotus and Horticulture
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6012 题意: 这几天Lotus对培养盆栽很感兴趣,于是她想搭建一个温室来满足她的研究欲望. Lotus ...
- 贪心 BestCoder Round #39 1001 Delete
题目传送门 /* 贪心水题:找出出现次数>1的次数和res,如果要减去的比res小,那么总的不同的数字tot不会少: 否则再在tot里减去多余的即为答案 用set容器也可以做,思路一样 */ # ...
- 暴力 BestCoder Round #41 1001 ZCC loves straight flush
题目传送门 /* m数组记录出现的花色和数值,按照数值每5个搜索,看看有几个已满足,剩下 5 - cnt需要替换 ╰· */ #include <cstdio> #include < ...
- 暴力 BestCoder Round #46 1001 YJC tricks time
题目传送门 /* 暴力:模拟枚举每一个时间的度数 详细解释:http://blog.csdn.net/enjoying_science/article/details/46759085 期末考结束第一 ...
- 字符串处理 BestCoder Round #43 1001 pog loves szh I
题目传送门 /* 字符串处理:是一道水题,但是WA了3次,要注意是没有加'\0'的字符串不要用%s输出,否则在多组测试时输出多余的字符 */ #include <cstdio> #incl ...
- BestCoder Round #75 1001 - King's Cake
Problem Description It is the king's birthday before the military parade . The ministers prepared a ...
- BestCoder Round #92 1001 Skip the Class —— 字典树 or map容器
题目链接:http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=748&pid=1001 题解: 1.trie树 关 ...
- BestCoder Round #61 1001 Numbers
Problem Description There are n numbers A1,A2....An{A}_{1},{A}_{2}....{A}_{n}A1,A2....An,yo ...
- BestCoder Round #87 1001
GCD is Funny Accepts: 524 Submissions: 1147 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 655 ...
随机推荐
- 解决报错:import sun.misc.BASE64Decoder无法找到
解决报错:import sun.misc.BASE64Decoder无法找到 2017年09月29日 16:03:26 chaoyu168 阅读数:2116 标签: sun.misc.BASE64De ...
- VS2015+NUnit+OpenCover 完成单元测试代码覆盖率测试
1.VS2015+NUnit+OpenCover 完成单元测试代码覆盖率测试 https://download.csdn.net/download/qq_39441918/10522539 2.*注意 ...
- my22_mydumper 使用总结
1. mydumper 的安装依赖于mysql软件,要使用mydumper 则服务器上必须先安装mysql 2. mydumper 安装时会使用mysql软件的动态链接库文件,如果服务器上mysql版 ...
- Fiddler相关配置
1.General 2.HTTPS: 3.Connections 4.Gateway 5.appearance 6.Scripting url过滤: REGEX:\.(js|css|png|gif|h ...
- Checkstyle的配置详解
Checkstyle是一款检查java程序代码样式的工具,可以有效的帮助我们检视代码以便更好的遵循代码编写标准,特别适用于小组开发时彼此间的样式规范和统一.Checkstyle提供了高可配置性,以便适 ...
- 如何成为一名:黑客/Programmer/Python高手
如何成为一名黑客 Eric Steven Raymond https://translations.readthedocs.org/en/latest/hacker_howto.html How To ...
- [inner] bug
这样正确 command: ["sh", "-c", "mysql -h${DC_DB_HOST} -uroot -p${MYSQL_ROOT_PAS ...
- Java基础13-数组算法
1.数组的复制 //复制算法,将arr1数组的值复制给arr2数组 import java.util.Arrays; public class Test1{ public static void ma ...
- a :hover 和a:hover 区别
article a :hover { color: red;} 上面表示 article 内所有a 标签的所有子标签在hover时是红色 article a:hover { color: red; ...
- JEECMS站群管理系统-- 标签使用和模板的制作
1模板规划 1.1资源文件 资源文件就是网页中用到的图片.CSS.JS等元素,在CMS系统中所有的资源文件在网站的根目录中的 /res_base/所属网站定义资源目录/TEMPLEATE/WEB /r ...