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 ...
随机推荐
- Kali linux 2016.2(Rolling)的利用MSF攻击windows小案例(exploits + payloads + taegets)(博主推荐)
不多说,直接上干货! 本博文举的例,是利用远程溢出windows服务器. Exploit/windows/smb/ms08_067_netapi. Payload : windows/shell ...
- Java事件处理机制1
实现一个小程序,怎样通过点击不同的按钮,让面板的背景色发生相应的变化,如图: public class Demo2 extends JFrame implements ActionListener{ ...
- .NET深入解析LINQ框架1
1.LINQ简述 2.LINQ优雅前奏的音符 2.1.隐式类型 (由编辑器自动根据表达式推断出对象的最终类型) 2.2.对象初始化器 (简化了对象的创建及初始化的过程) 2.3.Lambda表达式 ( ...
- HOJ 1867 经理的烦恼 【 树状数组 】
题意:给出一个区间,求这个区间里面素数的个数 这道题wa了好多次---是因为add操作没有写对 每次更新的时候,应该先判断没有加上y是不是质数,加上了y是不是质数 如果从质数变成不是质数,那么add( ...
- + (void)initialize vs 静态构造方法
在继承体系中,多个子类的引用,父类缺省执行一次: 特殊情况: 1)子类没有实现.调用父类方法: 2)子类显示调用父类: 3)存在分类实现,分类实现覆盖本体. Initializes the class ...
- .is() 全选复选的判断
/* 全选/全不选 */function selectAll(){ if($("#ckAll").is(":checked",true)){ $(": ...
- vue项目测试和打包发布
在线测试:npm run dev 发布打包:npm run build 打包后,代码文件在dist文件夹下面,可以正式发布了,复制到其它web服务器下面,在浏览器用http访问.
- 【Computer Vision】角点检测和匹配——Harris算子
一.基本概念 角点corner:可以将角点看做两个边缘的交叉处,在两个方向上都有较大的变化.具体可由下图中分辨出来: 兴趣点interest point:兴趣点是图像中能够较鲁棒的检测出来的点,它不仅 ...
- java 对象 拆箱装箱 编译和反编译的验证
创建对象 package 创建对象的个数; public class main { public static void main(String[] agrs){ Check c1=new Check ...
- 紫书 例题11-11 UVa 12661 (dihkstra变形)
这道题主要比较权值的时候要改变一下,其他地方基本一样. 比较权值的时候要考虑边的时间与a, b 可以设相对于当前边的时间now, 则now = d[u] % (a+b), 也就是当前这个边进行到整个a ...