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 ...
随机推荐
- hadoop运行作业的脚本解析
#!/usr/bin/env bash # Licensed to the Apache Software Foundation (ASF) under one or more # contribut ...
- Android OpenGL ES(十)绘制三角形Triangle .
三角形为OpenGL ES支持的面,同样创建一个DrawTriangle Activity,定义6个顶点使用三种不同模式来绘制三角形: float vertexArray[] = { -0.8f, - ...
- PID控制学习笔记(二)
不管是基本的PID控制还是变形的PID控制算法,其核心都是对输入信号(设定值信号.测量信号或者偏差信号等)做基本的比例.积分.微分运算,最终提供给被控过程良好的调节信号. 在过程控制仪表,特别是在数字 ...
- jquer 带左右按钮滚动图片 点击显示大图
<style> ul{ list-style:none; padding:0px; margin:0px;} li{ list-style:none; padding:0px; margi ...
- 实战WEB 服务器(JAVA编写WEB服务器)
实战WEB 服务器(JAVA编写WEB服务器) 标签: web服务服务器javawebsockethttp服务器 2010-04-21 17:09 11631人阅读 评论(24) 收藏 举报 分类: ...
- tiny210移植linux内核(3.0.8)杂项
关于三星芯片nand内存分区文件: linux-3.0.8/drivers/mtd/nand/s3c_nand.c struct mtd_partition s3c_partition_info[] ...
- 购物车CheckBox全选、反选
注意:不是很完美 //--------------------主布局文件--------------------------------- <LinearLayout xmlns:android ...
- 8633 回文划分(dp)
8633 回文划分 该题有题解 时间限制:1000MS 内存限制:1000K提交次数:169 通过次数:63 题型: 编程题 语言: G++;GCC Description 我们说一个字符串是回 ...
- FZU 1894 志愿者选拔(优化循环)
我并没有多想,他们是用的数组模拟队列,然而我就是优化循环次数过得 #include<iostream> #include<cstdio> #include<cstring ...
- DevExpress.LookUpEdit控件实现自动搜索定位功能 兼使用方法(looUpEdit可编辑)
DevExpress.LookUpEdit 使用方法 设置可手动输入 this.LookUpEdit1.Properties.TextEditStyle = DevExpress.XtraEditor ...