Codeforces 快速竞技#4
来源:互联网 发布:java 子类继承父类例子 编辑:程序博客网 时间:2024/04/28 09:28
快速竞技#4
A–Duff and Meat588A
= =这题不知道怎么写题解了。。
直接上code……….
#include<bits/stdc++.h>#include<string.h>using namespace std;typedef long long LL;typedef unsigned long long ULL;const double eps=1e-5;const double pi=acos(-1.0);const int mod=1e8+7;const LL INF=0x3f3f3f3f;const int N=1e3+10;int main(){ int n; int x,a,b; x=INF; scanf("%d",&n); int ans=0; for(int i=0;i<n;i++) { scanf("%d%d",&a,&b); if(b<x) x=b; ans+=a*x; } printf("%d\n",ans); return 0;}
B——-Duff in Love588A
lovely number.:不能整除一个a^2(a>1)。
给出一个N(<=10^12),在他的因子里,求一个最大的lovely number.
思路:
不含平方因子就是说一种因子只能存在一个,所以说分解质因子然后一种因子取一个就好了。
学到一波:分解质因数;可以求所有质因数哟~~~
for(LL i=2;i*i<=n;i++)
{
if(n%i==0){
ans*=i;
while(n%i==0)
n/=i;
}
if(n==1)
break;
}
code………..
#include<bits/stdc++.h>#include<string.h>using namespace std;typedef long long LL;typedef unsigned long long ULL;const double eps=1e-5;const double pi=acos(-1.0);const int mod=1e8+7;const LL INF=0x3f3f3f3f;const int N=1e6+10;int d[N];int main(){ int u,v; LL n; LL ans=1; scanf("%I64d",&n); for(LL i=2;i*i<=n;i++) { if(n%i==0){ ans*=i; while(n%i==0) n/=i; } if(n==1) break; } if(n>1) ans*=n; printf("%I64d\n",ans); return 0;}
F: 584C - Marina and Vasya
题意:
求一个字符串和s1,s2有t个不同;
思路:
直接搞;还是蛮清楚的构造。
code…………..
#include<bits/stdc++.h>#include<string.h>using namespace std;typedef long long LL;typedef unsigned long long ULL;const double eps=1e-5;const double pi=acos(-1.0);const int mod=1e8+7;const LL INF=0x3f3f3f3f;const int N=1e5+10;char s1[N],s2[N],ans[N];bool status[N];char kill(char a,char b){ for(int i='a';i<='z';i++) { if(i!=a&&i!=b) return i; }}int main(){ int n,t,sum; scanf("%d%d",&n,&t); scanf("%s%s",s1,s2); sum=0; memset(status,0,sizeof(status)); for(int i=0;i<n;i++) { if(s1[i]!=s2[i]) sum++; else status[i]=1; } if(sum==t) { for(int i=0;i<n;i++) { if(status[i]) ans[i]=s1[i]; else ans[i]=kill(s1[i],s2[i]); } } else if(sum<t){ //补齐t-sum; int cnt=0; for(int i=0;i<n;i++) { if(status[i]) { if(cnt<(t-sum)) { ans[i]=kill(s1[i],s2[i]); cnt++; } else ans[i]=s1[i]; } else ans[i]=kill(s1[i],s2[i]); } } else{ //不同的多了t-sum int cnt1=0,cnt2=0; //把两个串都补齐,可能补不齐,所以最后还要判断。 for(int i=0;i<n;i++) { if(status[i]) ans[i]=s1[i]; else { if(cnt1<(sum-t)) { ans[i]=s1[i]; cnt1++; } else if(cnt2<(sum-t)) { ans[i]=s2[i]; cnt2++; } else ans[i]=kill(s1[i],s2[i]); } } } int sum1=0,sum2=0; for(int i=0;i<n;i++) { if(s1[i]!=ans[i]) sum1++; if(s2[i]!=ans[i]) sum2++; } if(sum1!=t||sum2!=t) { puts("-1"); return 0; } ans[n]='\0'; printf("%s",ans); return 0;}
0 0
- Codeforces 快速竞技#4
- 第一次codeforces竞技结束 #238 Div 2
- 第二次codeforces竞技结束 #249 Div 2
- 第三次codeforces竞技结束 #254 Div 2
- 第四次codeforces竞技结束 #FF(#255) Div 2
- 第五次codeforces竞技结束 #256 Div 2
- 第六次codeforces竞技结束 #257 Div 2
- 第七次codeforces竞技结束 #258 Div 2
- 第八次codeforces竞技结束 #259 Div 2
- 第九次codeforces竞技结束 #260 Div 2
- 第十次codeforces竞技结束 #261 Div 2
- 第十一次codeforces竞技结束 #262 Div 2
- 第十二次codeforces竞技结束 #263 Div 2
- 第十三次codeforces竞技结束 #265 Div 2
- 第十四次codeforces竞技结束 #266 Div 2
- 第十五次codeforces竞技结束 #267 Div 2
- 第十六次codeforces竞技结束 #269 Div 2
- 第十七次codeforces竞技结束 #270 Div 2
- 算法4开坑
- socket阻塞与非阻塞情况下的recv、send、read、write返回值
- js函数中 return functionname; or return functionname();
- 借助JRebel使Tomcat支持热部署
- listview 拖拽
- Codeforces 快速竞技#4
- android-NotificationManager
- yield、生成器、装饰器
- http协议
- test
- FTP-Linux虚拟服务器配置笔记
- Android之关于电话录音原理,目前的方法还是只能录MIC
- android listView下拉刷新试用所有View
- Ajax实现动态显示并操作表信息