Codeforces#441 Div.2 四小题
Codeforces#441 Div.2 四小题
A. Trip For Meal
小熊维尼喜欢吃蜂蜜。他每天要在朋友家享用N次蜂蜜 , 朋友A到B家的距离是 a ,A到C家的距离是b ,B到C家的距离是c (A- >Rabbit B- >Owl C ->Eeyore),他不能连续两顿饭都在同一位朋友家里蹭
他现在位于A的家里, 请问他一天最少要跑多少路。
当然是要找一条最短的路折返跑了啊,是不是很简单。
#include<bits/stdc++.h>
using namespace std;
int N,a,b,c;
int main()
{
cin>>N>>a>>b>>c;
if (N==)printf("0\n");
else if (N==)printf("%d\n",min(a,b));
else if (N>=){
int k=min(a,b);
if(k<=c)
printf("%d\n",(N-)*k);
else printf("%d\n",k+(N-)*c);
}
return ;
}
A
B. Divisiblity of Differences
给你一个有N个元素的可重集合,你需要找出一个含k个元素的子集,使里面的数两两的差都能被m整除
差 + 整除 -> 同余 -> 子集中的数对m同余
每个数都mod m 然后枚举余数就好了。
#include<bits/stdc++.h>
using namespace std;
int N,M,K,a[],vis[],ans=-;
int main()
{
scanf("%d%d%d",&N,&K,&M);
for(int i=;i<=N;i++){
scanf("%d",&a[i]);
vis[a[i]%M]++;
}
for(int i=;i<M;i++){
if(vis[i]>=K){
ans=i;
break;
}
}
if(ans!=-){
printf("Yes\n");
for(int i=;i<=N&&K;i++)
if(a[i]%M==ans)printf("%d ",a[i]),K--;
printf("\n");
}
else printf("No\n");
}
B
C. Classroom Watch
先定义一个f(x) , f(x)的值就是 x的每一位加在一起 在加上它本身 f(123)=1+2+3+123=129
给你一个int范围内的整数N,求满足f(x)=N 的x有多少 和这些x的值
最多就十位数 各数位的数加在一起也超不过100 于是就 枚举 N-100~N 的所有数
#include<bits/stdc++.h>
using namespace std;
int N,ans[],cnt;
void judge(int x)
{
int sum=x,i=x;
while(i){
sum+=i%;
i=i/;
}
if(sum==N)ans[++cnt]=x;
}
int main()
{
scanf("%d",&N);
for(int i=N->=?N-:;i<=N;i++){
judge(i);
}
printf("%d\n",cnt);
for(int i=;i<=cnt;i++)
printf("%d\n",ans[i]);
return ;
}
C
D. Sorting the Coins
每次就是寻找最后一个O前面有多少x ,很容易 ,看到有人拿树状数组什么的其实没必要 ,这个尤其好维护,而且很水
#include<bits/stdc++.h>
using namespace std;
int N,a[],vis[],ans;
int main()
{
scanf("%d",&N);
printf("1 ");
int zer=N;
for(int i=;i<=N;i++){
scanf("%d",&a[i]);
vis[a[i]]=;
if(a[i]>zer){
printf("%d ",ans+);
}
else{
ans++;
while(vis[zer])ans--,zer--;
printf("%d ",ans+);
}
}
return ;
}
D
Codeforces#441 Div.2 四小题的更多相关文章
- codeforces #260 DIV 2 C题Boredom(DP)
题目地址:http://codeforces.com/contest/456/problem/C 脑残了. .DP仅仅DP到了n. . 应该DP到10w+的. . 代码例如以下: #include & ...
- Codeforces Round #441 (Div. 2)【A、B、C、D】
Codeforces Round #441 (Div. 2) codeforces 876 A. Trip For Meal(水题) 题意:R.O.E三点互连,给出任意两点间距离,你在R点,每次只能去 ...
- Codeforces Round #441 (Div. 2)
Codeforces Round #441 (Div. 2) A. Trip For Meal 题目描述:给出\(3\)个点,以及任意两个点之间的距离,求从\(1\)个点出发,再走\(n-1\)个点的 ...
- Codeforces Round #378 (Div. 2) D题(data structure)解题报告
题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...
- Codeforces Round #612 (Div. 2) 前四题题解
这场比赛的出题人挺有意思,全部magic成了青色. 还有题目中的图片特别有趣. 晚上没打,开virtual contest打的,就会前三道,我太菜了. 最后看着题解补了第四道. 比赛传送门 A. An ...
- Codeforces #344 Div.2
Codeforces #344 Div.2 Interview 题目描述:求两个序列的子序列或操作的和的最大值 solution 签到题 时间复杂度:\(O(n^2)\) Print Check 题目 ...
- Codeforces #345 Div.1
Codeforces #345 Div.1 打CF有助于提高做题的正确率. Watchmen 题目描述:求欧拉距离等于曼哈顿距离的点对个数. solution 签到题,其实就是求有多少对点在同一行或同 ...
- codeforces #592(Div.2)
codeforces #592(Div.2) A Pens and Pencils Tomorrow is a difficult day for Polycarp: he has to attend ...
- codeforces #577(Div.2)
codeforces #577(Div.2) A Important Exam A class of students wrote a multiple-choice test. There are ...
随机推荐
- hexo博客谷歌百度收录踩坑日记
title: hexo博客谷歌百度收录踩坑日记 toc: false date: 2018-04-17 00:09:38 百度收录文件验证 无论怎么把渲染关掉或者render_skip都说我的格式错误 ...
- Android ScrollView 滚动到顶部
有时候使用ScrollView,里边控件比较多的时候,打开界面,会滑到底部,如果要设置滑动到顶部,一般有两种方法 1.使用fullScrol(),scrollView.fullScroll(Scrol ...
- 【原创】关于not in的一些事情
早上到公司,收到一条cocall消息,是某哥们遇到的疑惑,可能很多新手并不知情: 请教个问题 我执行 . select * from t_htgl_htpswj t where t.c_wjmc = ...
- hadoop 编译自己的jar包并运行
我修从网上找了份java代码 我为了让它在hadoop下跑起来居然花了两个多小时... 首先最好不要在java代码中设置package...使用default package即可... 然后在java ...
- HDU 1166 敌兵布阵【线段树 单点更新】
题意:给出n个数,a1,a2,a3,,,,,an,再给出一些操作 add i j 表示给第i个节点增加j sub i j 表示给第i个节点减少j query i j 表示询问第i个节点到第j个节点 ...
- 《Unix环境高级编程》读书笔记 第13章-守护进程
1. 引言 守护进程是生存期长的一种进程.它们常常在系统引导装入时启动,仅在系统关闭时才终止.它们没有控制终端,在后台运行. 本章说明守护进程结构.如何编写守护进程程序.守护进程如何报告出错情况. 2 ...
- tinymce原装插件源码分析(六)-preview
priview 此插件文件结构比较简单,按钮注册.editor.windowManager.open.窗口出现之前的渲染数据的准备.页面代码的准备. 注意: 1.preview的默认宽高设置: 2.c ...
- hibernate N+1
http://www.cnblogs.com/sy270321/p/4769198.html
- Git日常操作指令
1. 将本地项目上传到码云: ①. 码云上创建一个项目 ②. 本地文件项目内右键git bash进入git控制台 ③. git init 命令 -- 会在本地创建一个.git文件夹 ④. git ...
- Chrome扩展程序推荐
Chrome扩展程序 AdBlock 印象笔记 网页截图:注释&录屏 油猴 zenmate-vpn sourcegraph 推荐网站