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 四小题的更多相关文章

  1. codeforces #260 DIV 2 C题Boredom(DP)

    题目地址:http://codeforces.com/contest/456/problem/C 脑残了. .DP仅仅DP到了n. . 应该DP到10w+的. . 代码例如以下: #include & ...

  2. Codeforces Round #441 (Div. 2)【A、B、C、D】

    Codeforces Round #441 (Div. 2) codeforces 876 A. Trip For Meal(水题) 题意:R.O.E三点互连,给出任意两点间距离,你在R点,每次只能去 ...

  3. Codeforces Round #441 (Div. 2)

    Codeforces Round #441 (Div. 2) A. Trip For Meal 题目描述:给出\(3\)个点,以及任意两个点之间的距离,求从\(1\)个点出发,再走\(n-1\)个点的 ...

  4. Codeforces Round #378 (Div. 2) D题(data structure)解题报告

    题目地址 先简单的总结一下这次CF,前两道题非常的水,可是第一题又是因为自己想的不够周到而被Hack了一次(或许也应该感谢这个hack我的人,使我没有最后在赛后测试中WA).做到C题时看到题目情况非常 ...

  5. Codeforces Round #612 (Div. 2) 前四题题解

    这场比赛的出题人挺有意思,全部magic成了青色. 还有题目中的图片特别有趣. 晚上没打,开virtual contest打的,就会前三道,我太菜了. 最后看着题解补了第四道. 比赛传送门 A. An ...

  6. Codeforces #344 Div.2

    Codeforces #344 Div.2 Interview 题目描述:求两个序列的子序列或操作的和的最大值 solution 签到题 时间复杂度:\(O(n^2)\) Print Check 题目 ...

  7. Codeforces #345 Div.1

    Codeforces #345 Div.1 打CF有助于提高做题的正确率. Watchmen 题目描述:求欧拉距离等于曼哈顿距离的点对个数. solution 签到题,其实就是求有多少对点在同一行或同 ...

  8. codeforces #592(Div.2)

    codeforces #592(Div.2) A Pens and Pencils Tomorrow is a difficult day for Polycarp: he has to attend ...

  9. codeforces #577(Div.2)

    codeforces #577(Div.2) A  Important Exam A class of students wrote a multiple-choice test. There are ...

随机推荐

  1. hexo博客谷歌百度收录踩坑日记

    title: hexo博客谷歌百度收录踩坑日记 toc: false date: 2018-04-17 00:09:38 百度收录文件验证 无论怎么把渲染关掉或者render_skip都说我的格式错误 ...

  2. Android ScrollView 滚动到顶部

    有时候使用ScrollView,里边控件比较多的时候,打开界面,会滑到底部,如果要设置滑动到顶部,一般有两种方法 1.使用fullScrol(),scrollView.fullScroll(Scrol ...

  3. 【原创】关于not in的一些事情

    早上到公司,收到一条cocall消息,是某哥们遇到的疑惑,可能很多新手并不知情: 请教个问题 我执行 . select * from t_htgl_htpswj t where t.c_wjmc = ...

  4. hadoop 编译自己的jar包并运行

    我修从网上找了份java代码 我为了让它在hadoop下跑起来居然花了两个多小时... 首先最好不要在java代码中设置package...使用default package即可... 然后在java ...

  5. HDU 1166 敌兵布阵【线段树 单点更新】

    题意:给出n个数,a1,a2,a3,,,,,an,再给出一些操作 add i  j 表示给第i个节点增加j sub i  j 表示给第i个节点减少j query i j 表示询问第i个节点到第j个节点 ...

  6. 《Unix环境高级编程》读书笔记 第13章-守护进程

    1. 引言 守护进程是生存期长的一种进程.它们常常在系统引导装入时启动,仅在系统关闭时才终止.它们没有控制终端,在后台运行. 本章说明守护进程结构.如何编写守护进程程序.守护进程如何报告出错情况. 2 ...

  7. tinymce原装插件源码分析(六)-preview

    priview 此插件文件结构比较简单,按钮注册.editor.windowManager.open.窗口出现之前的渲染数据的准备.页面代码的准备. 注意: 1.preview的默认宽高设置: 2.c ...

  8. hibernate N+1

    http://www.cnblogs.com/sy270321/p/4769198.html

  9. Git日常操作指令

    1. 将本地项目上传到码云: ①. 码云上创建一个项目 ②. 本地文件项目内右键git bash进入git控制台 ③. git init 命令   -- 会在本地创建一个.git文件夹 ④. git ...

  10. Chrome扩展程序推荐

    Chrome扩展程序 AdBlock 印象笔记 网页截图:注释&录屏 油猴 zenmate-vpn sourcegraph 推荐网站