Codeforces #350
A题:
题意:判断火星上的节假日最多和最少
分析:除以7,然后我们对原数模7的余数进行判断一下即可
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <bitset>
#include <cmath>
#include <queue>
#include <stack>
using namespace std;
int n;
int main()
{
while(cin>>n)
{
int minx,mx;
int t=n/;
t*=;
if(n%==){
minx=mx=t;
}else if(n%==){
minx=t;
mx=t+;
}else if(n%==){
minx=t+;
mx=t+;
}else{
minx=t;
mx=t+;
}
cout<<minx<<" "<<mx<<endl;
}
return ;
}
B题:
题意:有n个机器人,第i个机器人纪录其前面的i-1个数和其本身,问第k个数是多少
分析:判断一下第k个属于第几个机器人的即可
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <bitset>
#include <cmath>
#include <queue>
#include <stack>
using namespace std;
const int maxn=;
long long dp[maxn];
int a[maxn];
int n;
int k;
int main()
{
while(cin>>n>>k)
{
for(int i=;i<n;i++)
cin>>a[i];
int h;
int ans;
memset(dp,,sizeof(dp));
for(int i=;i<=n;i++){
dp[i]=dp[i-]+i;
if(dp[i]>=k){
h=i; break;
}
}
int flag=;
if(dp[h]==k){
flag=;
}else{
h--; flag=;
}
if(flag) cout<<a[h-]<<endl;
else{
int t=k-dp[h];
//cout<<"t: "<<t<<endl;
cout<<a[t-]<<endl;
}
}
return ;
}
C题:
题意:n个科学家来自不同国家,每个科学家对应懂一种语言,有双语电影,其中声音和文字是不同语言,希望找到一个电影院,让尽可能多的科学家能看懂,如果声音相同的情况比较文字尽量多的
分析:因为数据范围太大,用map进行统计每会说没中语言的科学家的人数,然后进行排序即可
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <bitset>
#include <cmath>
#include <queue>
#include <stack>
using namespace std;
const int maxn=;
map<int,int> vis;
typedef struct p
{
int id;
int aud,sub;
}p;
p s[maxn];
bool cmp(p a,p b)
{
if(a.aud==b.aud)
return a.sub>b.sub;
else
return a.aud>b.aud;
}
int main()
{
int n,m;
cin>>n;
for(int i=;i<n;i++){
int x;
scanf("%d",&x);
vis[x]++;
}
cin>>m;
for(int i=;i<m;i++){
int y;
scanf("%d",&y);
s[i].id=i+;
s[i].aud=vis[y];
}
for(int i=;i<m;i++){
int z;
scanf("%d",&z);
s[i].sub=vis[z];
}
sort(s,s+m,cmp);
printf("%d\n",s[].id);
return ;
}
D题:
题意:做一个蛋糕需要n种成份,需要每种成分ai,每种成分有bi,同时还有k个能转换成任意成分的物品,问最多能构成多少物品
分析:可以以bi除以ai为序,然后用一个优先队列进行维护,期间模拟k个物品的情况即可
#include <iostream>
#include <cstdio>
#include <cstring>
#include <string>
#include <vector>
#include <algorithm>
#include <set>
#include <map>
#include <bitset>
#include <cmath>
#include <queue>
#include <stack>
using namespace std;
const int maxn=;
typedef struct p
{
int a,b;
int mul,mod;
friend bool operator<(p x,p y){
return x.mul>y.mul;
}
}p;
p s[maxn];
int n,k;
int main()
{
while(cin>>n>>k)
{
for(int i=;i<n;i++)
cin>>s[i].a;
for(int i=;i<n;i++){
cin>>s[i].b;
s[i].mul=s[i].b/s[i].a;
s[i].mod=s[i].b%s[i].a;
}
priority_queue<p> que;
for(int i=;i<n;i++)
que.push(s[i]);
while(true){
p h=que.top();
int t=h.a-h.mod;
k-=t;
if(k<) break;
//cout<<"t: "<<t<<endl;
h.b+=t;
h.mod=h.b%h.a;
h.mul=h.b/h.a;
//cout<<h.mul<<endl;
if(k>=){
que.pop();
que.push(h);
if(k==)
break;
}
}
int z=que.top().mul;
cout<<z<<endl;
}
return ;
}
Codeforces #350的更多相关文章
- codeforces 350 div2 D Magic Powder - 2 二分
D2. Magic Powder - 2 time limit per test 1 second memory limit per test 256 megabytes input standard ...
- codeforces 350 div2 C. Cinema map标记
C. Cinema time limit per test 2 seconds memory limit per test 256 megabytes input standard input out ...
- Codeforces Round #350 (Div. 2) E. Correct Bracket Sequence Editor 模拟
题目链接: http://codeforces.com/contest/670/problem/E 题解: 用STL的list和stack模拟的,没想到跑的还挺快. 代码: #include<i ...
- Codeforces Round #350 (Div. 2) D2. Magic Powder - 2
题目链接: http://codeforces.com/contest/670/problem/D2 题解: 二分答案. #include<iostream> #include<cs ...
- Codeforces Round #350 (Div. 2) E. Correct Bracket Sequence Editor (链表)
题目链接:http://codeforces.com/contest/670/problem/E 给你n长度的括号字符,m个操作,光标初始位置是p,'D'操作表示删除当前光标所在的字符对应的括号字符以 ...
- Codeforces Round #350 (Div. 2)解题报告
codeforces 670A. Holidays 题目链接: http://codeforces.com/contest/670/problem/A 题意: A. Holidays On the p ...
- Codeforces Round #350 (Div. 2) E. Correct Bracket Sequence Editor 栈 链表
E. Correct Bracket Sequence Editor 题目连接: http://www.codeforces.com/contest/670/problem/E Description ...
- Codeforces Round #350 (Div. 2) D1. Magic Powder - 1 二分
D1. Magic Powder - 1 题目连接: http://www.codeforces.com/contest/670/problem/D1 Description This problem ...
- Codeforces Round #350 (Div. 2) C. Cinema 水题
C. Cinema 题目连接: http://www.codeforces.com/contest/670/problem/C Description Moscow is hosting a majo ...
随机推荐
- FileSystemXmlApplicationContext方法的绝对路径问题
public AgentServer(Socket c,String confDir) { this.client = c; ApplicationContext ac = new FileSyste ...
- Oracle中清除BIN$开头的垃圾表的解决办法
10g的新特性flashback闪回区 在10g中bin开头表示已经删除的放在回收站的表,oracle在删除表时并没有彻底的删除,而是把表放入回收站!purge recyclebin清空回收站即可. ...
- phpstudy 安装memcached服务和memcache扩展
memcached安装步骤: 首先,将下载好的memcahed解压到某个文件目录下,例如 C:\memcached 然后,在cmd里,输入"C:\memcached\memcached.ex ...
- php sso 单点登录的实现 代码示例
先说一下这样做的好处吧,先来三个屌丝域名: www.openpoor.com myspace.openpoor.com passport.openpoor.com 大家都知道,虽然他们都是一个域名但主 ...
- List、Set、Map集合存放null解析及HashMap、Hashtable异同点解析
1.List.Set.Map集合存放null解析: @Test public void CollectionTest() { // 测试List List<Object> list = n ...
- iOS项目架构 小谈
层级结构,自底向上 持久层(File,Realm,SQLite)<==>网络层(相信每个公司都有自己的网络层吧)==>业务层(ViewModel)==>展示层(View,VC) ...
- C语言EOF
验证表达式getchar()!=EOF的值是1还是0 编写一个打印EOF值的程序 windows下是ctrl-z 就是ctrl和z一起按了,就是结束符linux下是ctrl-d是结束符.这个是一个 ...
- SDAU课程练习--problemQ(1016)
题目描述 FJ is surveying his herd to find the most average cow. He wants to know how much milk this 'med ...
- 3--OC -- 点语法
3.OC -- 点语法 1.方法名 // 冒号也是属于方法名的一部分 - (void)setAge:(int)age; // 方法名是 setAge: - (void)setAge; // 方法名是 ...
- [转]修改hosts文件不起作用
http://wayne173.iteye.com/blog/1876565 今天遇到个很奇怪的问题,在hosts文件里添加了一些域名指向后,发现根本没起作用,后来还发现个细节,就是hosts文件左下 ...