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 ...
随机推荐
- 虚拟机centos分区
在计算机上安装 Linux 系统,对硬盘进行分区是一个非常重要的步骤,下面介绍几个分区方案. 方案 1 / :建议大小在 5GB 以上. swap :即交换分区,建议大小是物理内存的 1~2 倍. 方 ...
- 在WIN7/8下把XP装入VHD (上)
系统平台:win8.1 操作目的:工作中需要使用一个只能在winxp下运行的软件,但我平时都用win8.1,也不想弄个麻烦的双系统.在无忧论坛研究了两天后找到个比较好的办法,在VHD里装个window ...
- java 对象的组合,一个类组合到另一个类中(例如手机卡装到手机上)
Example4_9.java public class Example4_9 { public static void main(String args[]) { SIM simOne = new ...
- 河南多校联合训练 F 不是匹配
描述 有N个人,N个活动, 每个人只会对2个或者3个活动感兴趣, 每个活动也只有两个人或者两个活动对它兴趣,每个人参加一个 感兴趣的活动需要一天 ,且当天该活动被参加时,其他的人不能参加 如果 ...
- meta 常用标签总结
声明:并非原创 meta元素工有3个可选属性(http-equiv.name.scheme)和一个必选属性(content),content定义与http-equiv或name属性相关的元信息 可选属 ...
- Windows API 之 ReadProcessMemory
ReadProcessMemory: BOOL WINAPI ReadProcessMemory( _In_ HANDLE hProcess, _In_ LPCVOID lpBaseAddress, ...
- Ubuntu系统搭建PPTP,VPN
1.先安装pptp apt-get install pptpd 2.打开pptp的DNS vim /etc/ppp/option.pptpd 去掉下面两行内容前的# ms-dns 8.8.8.8 ms ...
- IE7&IE8不支持rgba的方法
使用滤镜功能 filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#BF000000,endColorstr=#BF0000 ...
- SecureCRT 上传文件的两种方法 Zmodem、SFTP
Zmodem: 无论有xshell还是secureCRT连接linux的时. 默认都用一个zmodem可以帮助window和linux之间传输文件 很方便和实用的工具. 不过默认是无法使用的 需要安装 ...
- PopupWindow组件的使用问题
//如果默认屏幕的话,父view就写自己 popupWindow.showAtLocation(inflate, Gravity.BOTTOM, 0, 0); PopupWindow 顾名思义为弹出式 ...