快速竞技#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;
}

最新文章

  1. 学习Spring(三) 设置Bean作用域
  2. ubuntu16.04安装eclipse
  3. Web应用开发工具及语言需要具备的功能探索
  4. 8天学通MongoDB——第二天 细说增删查改
  5. 三个入侵的必备小工具-lcx.exe、nc.exe、sc.exe
  6. SAE下的Memcache使用方法
  7. Jqgrid的用法总结与分页功能的拓展
  8. 使用firefoxprofile,selenium设置firefox,初始化firefox
  9. 数据库中间件 Sharding-JDBC 源码分析 —— SQL 解析(三)之查询SQL
  10. JS中的事件以及DOM 操作
  11. 微信小程序教学第四章第三节(含视频):小程序中级实战教程:详情-功能完善
  12. unity图片后期处理
  13. Promise 返回值
  14. python基础入门之函数基础
  15. HDU5758 Explorer Bo 思维+树形dp
  16. 【题解】Luogu P2153 [SDOI2009]晨跑
  17. Linux下TFTP服务的安装、配置和操作
  18. 【转】机器学习在B2B的应用
  19. 淘淘商城之springmvc和mybatis整合
  20. Android apk签名的两种方法

热门文章

  1. leetCode 65.Valid Number (有效数字)
  2. oracle 静默安装
  3. HDU 4791 Alice&amp;#39;s Print Service 水二分
  4. iOS 把数据库文件打包到mainbundle中,查找不到路径的解决的方法;以及在删除bundle中文件的可行性
  5. Intel的东进与ARM的西征(4)--理想的星空,苹果处理器之野望
  6. Redis 事务及其应用
  7. mt7620 wifi driver
  8. HDU 1032.The 3n + 1 problem【注意细节】【预计数据不强】【8月21】
  9. http权威指南(一)-Http概述
  10. 记一次OGG数据写入HBase的丢失数据原因分析