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. POJ 3269 中位数

    题意: 思路: 这道题坑也不少.. 你准备好脑洞了么? 首先 要认真审题 题目中有说:"没有两头牛的吃草位置是相邻的" 这句话让我们省了很多的事儿 (Discuss里有的大神就入了 ...

  2. css实现步骤条

    实现效果 html <ul class="steps"> <li class="active">申请完成</li> < ...

  3. 设置div内的内容不能被选中

    通过简单的css设置页面的文字无法被选定. <div class="select">我不能被选中复制</div> .select{ -webkit-user ...

  4. C++ STL rope介绍----可持久化平衡树

    大致介绍: rope这个东西,我刚刚知道这玩意,用的不是很多,做个简单的介绍. 官方说明:我是刘邦(我估计你是看不懂的). rope就是一个用可持久化平衡树实现的“重型”string(然而它也可以保存 ...

  5. Java将WKT格式的Geomotry转换成GeoJSON

    一.Meven添加依赖 <!-- 引入json处理包 --> <dependency> <groupId>com.alibaba</groupId> & ...

  6. vue+element-ui+slot-scope或原生实现可编辑表格(日历)

    你们公司的产品是不是还在做一个可编辑表格功能? 1.前言 咱开发拿到需求大多数是去网上找成型的组件,找不到再看原生的方法能否实现,大牛除外哈,大牛一般喜欢封装组件框架. 2.思路 可编辑表格在后台管理 ...

  7. 洛谷 P1026 统计单词个数 (分组+子串预处理)(分组型dp再次总结)

    一看完这道题就知道是划分型dp 有两个点要注意 (1)怎么预处理子串. 表示以i为开头,结尾在j之前(含),有没有子串,有就1,没有就0 (2)dp的过程 这种分成k组最优的题目已经高度模板化了,我总 ...

  8. 紫书 例题8-13 UVa 11093 (反证法)

    这道题发现一个性质就解决了 如果以i为起点, 然后一直加油耗油, 到p这个地方要去p+1的时候没油了, 那么i, i+1, --一直到p, 如果以这些点 为起点, 肯定也走不完. 为什么呢? 用反证法 ...

  9. MD5 加密原理(转)

    MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由MIT Laboratory for Computer Science和RSA Data Secur ...

  10. Qt之根据扩展名获取文件图标、类型

    简述 在C++根据扩展名获取文件图标.类型一节中我们分享了如何根据扩展名来获取对应的文件图标.类型,下面.我们在Qt中使用它. 简述 示例 效果 源码 更多参考 示例 如下,我们根据扩展名来获取对应的 ...