codeforces 557 C
由于期末。非常久没刷题了,CF一直掉……
这个题事实上非常简单。
。由于做法非常easy想到嘛。。
就是枚举max=x时,最大能保留多少价值。不断更新ans,
结果就是全部价值和减去ans就好
因为最大可以保留的长度是199+200,所以当max=x时。算最大能保留多少价值,
也是一个循环算出当前长度比x小的那个桌子角的最大的那几个价值之和保留即可了,
这里写的比較绕。。反正看看代码一下就懂了。。。
维护一个map即可了
比赛的时候,由于好久没刷题了。一直没想清楚,一直到比赛结束前还剩下十分钟才恍然大悟。
。
复杂度是(logn+200)*n
只是也没办法啦。要期末嘛
1 second
256 megabytes
standard input
standard output
Arthur has bought a beautiful big table into his new flat. When he came home, Arthur noticed that the new table is unstable.
In total the table Arthur bought has n legs, the length of thei-th leg isli.
Arthur decided to make the table stable and remove some legs. For each of them Arthur determined numberdi — the amount of energy that he spends to remove thei-th
leg.
A table with k legs is assumed to be stable if there are more than half legs of the maximum length. For example, to make a table with5 legs stable, you need to make sure it has at least
three (out of these five) legs of the maximum length. Also, a table with one leg is always stable and a table with two legs is stable if and only if they have the same lengths.
Your task is to help Arthur and count the minimum number of energy units Arthur should spend on making the table stable.
The first line of the input contains integer n (1 ≤ n ≤ 105) — the initial number of legs in the table Arthur bought.
The second line of the input contains a sequence of n integersli (1 ≤ li ≤ 105),
whereli is equal to the length of thei-th leg of the table.
The third line of the input contains a sequence of n integersdi (1 ≤ di ≤ 200),
wheredi is the number of energy units that Arthur spends on removing thei-th leg off the table.
Print a single integer — the minimum number of energy units that Arthur needs to spend in order to make the table stable.
2
1 5
3 2
2
3
2 4 4
1 1 1
0
6
2 2 1 1 3 3
4 3 5 5 2 1
8
#include<map>
#include<string>
#include<cstring>
#include<cstdio>
#include<cstdlib>
#include<cmath>
#include<queue>
#include<vector>
#include<iostream>
#include<algorithm>
#include<bitset>
#include<climits>
#include<list>
#include<iomanip>
#include<stack>
#include<set>
using namespace std;
map<int,int>num;
struct Box
{
int len,val;
}box[100010];
bool cmp(Box one,Box two)
{
return one.len<two.len;
}
int main()
{
int n;
cin>>n;
for(int i=0;i<n;i++)
cin>>box[i].len;
for(int i=0;i<n;i++)
cin>>box[i].val;
sort(box,box+n,cmp);
int l=-1,r=-2,ans=-1;
for(int i=0;i<n;i++)
for(int j=i;j<n;j++)
if(box[j+1].len!=box[i].len)
{
for(int k=l;k<=r;k++)
num[box[k].val]++;
l=i;r=j;
map<int,int>::iterator it=num.end();
int len=j-i,sum=0;
while(len>0)
{
if(it==num.begin())
break;
it--;
for(int k=0;k<it->second&&len>0;k++,len--)
sum+=it->first;
}
for(int k=l;k<=r;k++)
sum+=box[k].val;
ans=max(ans,sum);
i=j;
break;
}
int sum=0;
for(int i=0;i<n;i++)
sum+=box[i].val;
cout<<sum-ans;
}
codeforces 557 C的更多相关文章
- codeforces 557 D. Vitaly and Cycle 组合数学 + 判断二分图
D. Vitaly and Cycle time limit per test 1 second memory limit per test 256 megabytes input sta ...
- Codeforces Round #557 (Div. 1) 简要题解
Codeforces Round #557 (Div. 1) 简要题解 codeforces A. Hide and Seek 枚举起始位置\(a\),如果\(a\)未在序列中出现,则对答案有\(2\ ...
- Codeforces Round #557 题解【更完了】
Codeforces Round #557 题解 掉分快乐 CF1161A Hide and Seek Alice和Bob在玩捉♂迷♂藏,有\(n\)个格子,Bob会检查\(k\)次,第\(i\)次检 ...
- Codeforces Round #557 (Div. 1)
A.直接做. #include<vector> #include<cstdio> #include<cstring> #include<iostream> ...
- Codeforces Round #557 Div. 1 based on Forethought Future Cup - Final Round
A:开场就读错题.读对了之后也没啥好说的. #include<bits/stdc++.h> using namespace std; #define ll long long #defin ...
- Codeforces Round #557 B. Double Matrix
题面: 传送门 题目描述: 给出两个n*m的矩阵,问:是否能通过交换两个矩阵"对应"位置的元素,使两个矩阵都为"递增"矩阵. "递增"矩阵定 ...
- codeforces 557B. Pasha and Tea 解题报告
题目链接:http://codeforces.com/problemset/problem/557/B 题目意思:有 2n 个茶杯,规定第 i 个茶杯最多只能装 ai 毫升的水.现在给出 w 毫升的水 ...
- Codeforces Round #311 (Div. 2) E. Ann and Half-Palindrome 字典树/半回文串
E. Ann and Half-Palindrome Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contes ...
- Codeforces Round #311 (Div. 2) D. Vitaly and Cycle 图论
D. Vitaly and Cycle Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/contest/557/p ...
随机推荐
- 【bzoj4407】于神之怒加强版 莫比乌斯反演+线性筛
题目描述 给下N,M,K.求 输入 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示. 输出 如题 ...
- 从输入url到页面呈现的过程
从输入url到页面呈现的过程包括两个基本过程:网络通信和页面渲染 网络通信主要过程是 域名解析 -> TCP连接 -> HTTP请求 -> 服务端响应,返回HTML 页面渲染的主要过 ...
- [POJ2417]Discrete Logging(指数级同余方程)
Discrete Logging Given a prime P, 2 <= P < 2 31, an integer B, 2 <= B < P, and an intege ...
- bzoj 3625小朋友和二叉树 多项式求逆+多项式开根 好题
题目大意 给定n种权值 给定m \(F_i表示权值和为i的二叉树个数\) 求\(F_1,F_2...F_m\) 分析 安利博客 \(F_d=F_L*F_R*C_{mid},L+mid+R=d\) \( ...
- Activation(hdu 4089)
题目:仙5的激活序列.有以下4种情况: 1.注册失败,但是不影响队列顺序 ,概率为p1 2.连接失败,队首的人排到队尾,概率为p2 3.注册成功,队首离开队列,概率为p3 4.服务器崩溃,激活停止,概 ...
- jQuery控件之分页控件-- kkpager v1.3使用简介
js分页展示控件,传入简单参数就能使用的分页效果控件 在线测试链接: http://pgkk.github.io/kkpager/example/pager_test.html http://pgkk ...
- 重新实践《轻量级DJANGO》这本书
从手到尾,手写的DJANGO,不借助命令,效果一样的呢. import os import sys import hashlib from django.conf import settings DE ...
- jquery小技巧:使用jquery.confirm和PNotify实现弹出提示和消息提示
在从UIKIT前端换到BOOSTRAP前端时,一些转换的技巧. https://myclabs.github.io/jquery.confirm/ http://sciactive.github.io ...
- Codeforces 934 A.Compatible Pair
http://codeforces.com/contest/934 A. A Compatible Pair time limit per test 1 second memory limit p ...
- Codeforces 553D Nudist Beach(二分答案 + BFS)
题目链接 Nudist Beach 来源 Codeforces Round #309 (Div. 1) Problem D 题目大意: 给定一篇森林(共$n$个点),你可以在$n$个点中选择若干个构 ...