Lotus and Characters 

问题描述

Lotus有nn种字母,给出每种字母的价值以及每种字母的个数限制,她想构造一个任意长度的串。

定义串的价值为:第1位字母的价值*1+第2位字母的价值*2+第3位字母的价值*3……

求Lotus能构造出的串的最大价值。(可以构造空串,因此答案肯定\geq 0≥0)

输入描述

第一行是数据组数T(0 \leq T \leq 1000)T(0≤T≤1000)。

对于每组数据,第一行一个整数n(1 \leq n \leq 26)n(1≤n≤26),接下来nn行,每行2个整数val_i,cnt_i(|val_i|,cnt_i\leq 100)vali,cnti(∣vali∣,cnti≤100),分别表示第ii种字母的价值和个数限制。

输出描述

对于每组数据,输出一行一个整数,表示答案。

输入样例

2

2

5 1

6 2

3

-5 3

2 1

1 1

输出样例

35

5

 #include <cmath>
#include <cstdio>
#include <cstdlib>
#include <iostream>
#include <algorithm>
#include <set>
#include <map>
#include <vector>
#include <string>
#include <cstring>
using namespace std;
struct node {int x,y;} t[];// x-价值 y-个数限制
int a[],ans,T,n,cnt,MAX,S,sum;
int main()
{
scanf("%d",&T);
while (T--)
{
scanf("%d",&n);
for (int i=; i<=n; i++)
{
scanf("%d%d",&t[i].x,&t[i].y);
while (t[i].y--) a[++cnt]=t[i].x;//a处理处一个序列
//价值的全排列
}
MAX=;
sort(a+,a+cnt+);
for (int i=cnt; i>=; i--) {sum+=a[i]; S+=sum; MAX=max(MAX,S);}
/*从后往前推 其中肯定会有到负数的 情况
这时我们考虑 若在其前添加一个负数, 他后面的数都会多乘一个1
相当于多加了自身一遍,所以我们使sum维护一个和,S
维护前缀和 如果说S大于这个负数 那么就加上这个负数
*/
printf("%d\n",MAX);
ans=cnt=MAX=sum=S=;
}
return ;
}

人生第一次在BestCoder打比赛。。15分钟AC

Best Coder Lotus and Characters的更多相关文章

  1. BestCoder Round #91 1001 Lotus and Characters

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6011 题意: Lotus有nn种字母,给出每种字母的价值以及每种字母的个数限制,她想构造一个任意长度的 ...

  2. Lotus and Characters (stronger)

    题意: 有n类物品,第i种物品权值为$val(i)$,有$cnt(i)$个,现在你可以选出一些物品排成一个序列(假设有m个), 记第i个物品种类为$x_i$,最大化$\sum_{i=1}^m{i * ...

  3. hdu 6011 Lotus and Characters 贪心

    http://acm.hdu.edu.cn/showproblem.php?pid=6011 先把数字从小到大排好,比如是-6.3.4这样, 然后处理出后缀和,当后缀和 <= 0的时候马上停止就 ...

  4. HDU 6011:Lotus and Characters(贪心)

    http://acm.hdu.edu.cn/showproblem.php?pid=6011 题意:共有n种字符,每种字符有一个val和一个cnt,代表这个字符的价值和数量.可以制造的总价值是:第一个 ...

  5. OI 刷题记录——每周更新

    每周日更新 2016.05.29 UVa中国麻将(Chinese Mahjong,Uva 11210) UVa新汉诺塔问题(A Different Task,Uva 10795) NOIP2012同余 ...

  6. CodeForces 384A Coder

    Coder Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  7. Codeforces Round #590 (Div. 3) D. Distinct Characters Queries(线段树, 位运算)

    链接: https://codeforces.com/contest/1234/problem/D 题意: You are given a string s consisting of lowerca ...

  8. LeetCode[3] Longest Substring Without Repeating Characters

    题目描述 Given a string, find the length of the longest substring without repeating characters. For exam ...

  9. [LeetCode] Longest Substring with At Least K Repeating Characters 至少有K个重复字符的最长子字符串

    Find the length of the longest substring T of a given string (consists of lowercase letters only) su ...

随机推荐

  1. 读取Exchange的用户未读邮件数的几种方法

    [http://www.cnblogs.com/nbpowerboy/p/3539422.html] 可以使用ExchangeServiceBinding获取邮件,他相当于outlook, 来获取服务 ...

  2. NSRegularExpression

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAu4AAAU2CAIAAABFtaRRAAAAAXNSR0IArs4c6QAAAe9pVFh0WE1MOm

  3. 【Git版本控制】GitLab Fork项目的工作流程

    转载自简书: GitLab Fork项目工作流程

  4. k8s的Pod控制器

    pod的配置清单常见选项: apiVersion,kind,metadata,spec,status(只读) spec: containers: nodeSelector: nodeName: res ...

  5. W3CPLUS DEMO一些有意思的效果备份

    时间轴轮播图: http://www.w3cplus.com/w3cplusDemo/demos/timeline.html css3各种图标效果: http://www.w3cplus.com/w3 ...

  6. 【php】函数重载问题

    PHP 不支持函数重载,也不可能取消定义或者重定义已声明的函数.

  7. 集群环境(session多服务器共享的方案梳理)

    目前业界解决session共享的几种思路,我总结如下: 第一种办法:把原来存储在服务器磁盘上的session数据存储到客户端的cookie中去. 这样子,就不需要涉及到数据共享了.a客户端请求的时候, ...

  8. python的标准模块

    本文用于记录python中的标准模块,随时更新. decimal模块(解决小数循环问题): >>> import decimal >>> a = decimal.D ...

  9. LeetCode(206) Reverse Linked List

    题目 Reverse a singly linked list. click to show more hints. Hint: A linked list can be reversed eithe ...

  10. Servlet注意事项

    注意事项 1.对于Servlet的应用程序的目录结构来说,若想让有些文件Servlet可以访问,而用户不能访问的时候,可以将其放置在WEB-INF目录下 2.ServletResponse中getwr ...