Codeforces Round #303 (Div. 2)
来源:互联网 发布:淘宝店铺不显示导航栏 编辑:程序博客网 时间:2024/06/01 20:28
A:http://codeforces.com/problemset/problem/545/A
题意:告诉你车的碰撞情况,求最后好的车剩几辆
思路:直接模拟
B:http://codeforces.com/problemset/problem/545/B
题意:输入两个等长字符串s和t,都只包含0和1。定义s和t的距离为s和t中相同位置i并且s[i]!=t[i]的个数。
比如0001和1011的距离为2。
求一个字符串p,与s的距离等于与t的距离。如果求不出来,输入impossible。
思路:先判断s和t的距离dis是否为偶数。若dis为奇数,则输出impossible。若dis为偶数,对位置i,如果s[i]==t[i],则p[i]=s[i];如果s[i]!=t[i],则p[i]=s[i]取dis/2个,p[i]=t[i]取dis/2个。
C
D:http://codeforces.com/problemset/problem/545/D
题意:n个人排队,每个人都有一个服务时间。若等待的时间超过了其服务时间,这个人就不满意,否则就是满意的。排在第i个的人,需要等待的时间为前i-1个人的服务时间之和。允许任意交换任何2个人的位置,求队伍中满意人数最多的人数。
思路:贪心。假设开始排第i个人,前i-1个人的总服务时间为sum,第i个人的服务时间要大于sum并且使得sum加上第i个人的服务时间后sum尽可能小,如果不行,则将这个人丢到队伍尾。可以将所有人的服务时间丢入一个优先队列(从小到大)。每次取出一个人,若这个人的服务时间大于sum,则sum加上这个人的服务时间,满意人数ok++。把这个人丢出队列。
代码如下。
#include <iostream>#include <cstdio>#include <string>#include <cstring>#include <cmath>#include <queue>#include <algorithm>using namespace std;int main() { int n; while (scanf("%d", &n) != EOF) { priority_queue<int, vector<int>, greater<int> > q; for (int i = 1; i <= n; i++) { int x; scanf("%d", &x); q.push(x); } int ok = 0; long long sum = 0; while (q.size() > 0) { if (q.top() >= sum) { sum += q.top(); ok++; } q.pop(); } printf("%d\n", ok); } return 0;}
- Codeforces Round #303 (Div. 2)
- Codeforces Round #303 (Div. 2)
- Codeforces Round #303 (Div. 2)
- Codeforces Round #303 (Div. 2)
- Codeforces Round #303 (Div. 2)
- Codeforces Round #303 (Div. 2)
- Codeforces Round #303 (Div. 2)
- 【解题报告】Codeforces Round #303 (Div. 2)
- Codeforces Round #303 (Div. 2) D 贪心
- Codeforces Round #303 (Div. 2) C dp
- Codeforces Round #303 (Div. 2) B
- Codeforces Round #102 (Div. 2)
- Codeforces Round #103 (Div. 2)
- Codeforces Round #103 (Div. 2)
- Codeforces Round #104 (Div. 2)
- Codeforces Round #105 (Div. 2)
- Codeforces Round #105 (Div. 2)
- Codeforces Round #107 (Div. 2)
- SQL取最后字符
- 关于TextView的一些特殊处理
- Android中使EditText失去焦点,edittext禁止弹出键盘
- make组合命令
- logback日志组件的配置和使用
- Codeforces Round #303 (Div. 2)
- 欢迎使用CSDN-markdown编辑器
- 网络字节
- java.sql.BatchUpdateException
- opencv中图像数据使用方法
- Android Studio应用指南
- AR模型
- leetcode-123 Best Time to Buy and Sell Stock III
- 黑马程序员---关于super和self关键字