Codeforces Round #518 (Div. 2) [Thanks, Mail.Ru!]

https://codeforces.com/contest/1068

A

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 300005
#define eps 1e-8
#define pi acos(-1.0)
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<long long,int>pli;
typedef pair<int,char> pic;
typedef pair<pair<int,string>,pii> ppp;
typedef unsigned long long ull;
const long long mod=1e9+;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
ll n,m,k,l;
cin>>n>>m>>k>>l;
if(n<m||n-k<l){
cout<<-<<endl;
return ;
}
ll res=(k+l)/m;
if(res*m<k+l) ++res;
if(res*m<=n) cout<<res<<endl;
else cout<<-<<endl;
}

B

数论

因为lcm(a,b)/a==b/gcd(a,b),又因为b是确定的,所以求的是gcd(a,b)的个数,也就是求b的因子数

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 300005
#define eps 1e-8
#define pi acos(-1.0)
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<long long,int>pli;
typedef pair<int,char> pic;
typedef pair<pair<int,string>,pii> ppp;
typedef unsigned long long ull;
const long long mod=1e9+;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
ll n;
cin>>n;
int sq=sqrt(n);
ll ans=;
for(int i=;i<=sq;i++){
ll co=;
while(n%i==){
n/=i;
co++;
}
ans*=co;
}
if(n>) ans*=;
cout<<ans<<endl;
}

C

找规律

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 300005
#define eps 1e-8
#define pi acos(-1.0)
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<long long,int>pli;
typedef pair<int,char> pic;
typedef pair<pair<int,string>,pii> ppp;
typedef unsigned long long ull;
const long long mod=1e9+;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ vector<int>ve[];
int n,m; int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
cin>>n>>m;
for(int i=;i<=n;i++){
ve[i].pb(i);
}
int x,y;
int co=n+;
for(int i=;i<m;i++){
cin>>x>>y;
ve[x].pb(co);
ve[y].pb(co);
co++;
}
for(int i=;i<=n;i++){
cout<<ve[i].size()<<endl;
for(int j=;j<ve[i].size();j++){
cout<<i<<" "<<ve[i][j]<<endl;
}
}
}

D

DP

参考博客:https://blog.csdn.net/white_156/article/details/83421537

 #include<iostream>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 100005
#define eps 1e-8
#define pi acos(-1.0)
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<long long,int>pli;
typedef pair<int,char> pic;
typedef pair<pair<int,string>,pii> ppp;
typedef unsigned long long ull;
const long long mod=;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ int a[];
long long dp[][][]; int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
int n;
scanf("%d",&n);
for(int i=;i<=n;i++) cin>>a[i];
if(a[]!=-){
dp[][a[]][]=;
}
else{
for(int i=;i<=;i++){
dp[][i][]=;
dp[][i][]=;
}
}
for(int i=;i<=n;i++){
if(a[i]==-){
dp[i][][]=;
for(int j=;j<=;j++)
dp[i][j][]=(dp[i][j][]+dp[i][j-][]+dp[i-][j-][]+dp[i-][j-][])%mod;
dp[i][][]=;
for(int j=;j>=;j--){
dp[i][j][]=(dp[i][j][]+dp[i][j+][]+dp[i-][j+][])%mod;
}
for(int j=;j<=;j++)
dp[i][j][]=(dp[i][j][]+dp[i-][j][]+dp[i-][j][])%mod;
}
else{
int num=a[i];
for(int j=;j<num;j++)
dp[i][num][]=(dp[i][num][]+dp[i-][j][]+dp[i-][j][])%mod;
for(int j=num+;j<=;j++)
dp[i][num][]=(dp[i][num][]+dp[i-][j][])%mod;
dp[i][num][]=(dp[i][num][]+dp[i-][num][]+dp[i-][num][])%mod;
}
}
long long ans=;
for(int i=;i<=;i++)
ans=(ans+dp[n][i][])%mod;
cout<<ans<<endl; }

E

模拟

 #include<bits/stdc++.h>
using namespace std;
#define lson l,mid,rt<<1
#define rson mid+1,r,rt<<1|1
#define sqr(x) ((x)*(x))
#define pb push_back
#define eb emplace_back
#define maxn 100005
#define eps 1e-8
#define pi acos(-1.0)
#define rep(k,i,j) for(int k=i;k<j;k++)
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<long long,int>pli;
typedef pair<int,char> pic;
typedef pair<pair<int,string>,pii> ppp;
typedef unsigned long long ull;
const long long mod=;
/*#ifndef ONLINE_JUDGE
freopen("1.txt","r",stdin);
#endif */ set<int>se[maxn],v,t;
set<int>::iterator it;
int cnt[maxn]; int main(){
#ifndef ONLINE_JUDGE
// freopen("1.txt","r",stdin);
#endif
std::ios::sync_with_stdio(false);
int n,k;
cin>>n>>k;
for(int i=;i<n;i++)
{
int u,v;
cin>>u>>v;
se[u].insert(v);
se[v].insert(u);
}
for(int i=;i<=n;i++)
if(se[i].size()==)
v.insert(i);
while(n>)
{
t.clear();
for(it=v.begin();it!=v.end();it++)
{
int x=*se[*it].begin();
cnt[x]++;
t.insert(x);
se[x].erase(*it);
n--;
}
for(it=t.begin();it!=t.end();it++)
{
if(cnt[*it]<)
{
printf("No\n");
return ;
}
cnt[*it]=;
}
swap(v,t);
k--;
}
if(k==)printf("Yes\n");
else printf("No\n"); }

最新文章

  1. CentOS6.5上安装MySQL5.6
  2. AMD加载器实现笔记(二)
  3. 【freemaker】之自定义指令&lt;#macro&gt;
  4. XE6移动开发环境搭建之IOS篇(9):配置XE6的IOS SDK(有图有真相)
  5. iOS获取通讯录 电话号码与姓名
  6. 20135202闫佳歆--week 9 期中总结
  7. Apache HTTP Server安装
  8. UDP 多播 Java
  9. NeoOcean - Unity3D Ocean Waves Simulation
  10. AIR检测网络
  11. HTML骨架-深入理解
  12. About VirtualBoxImages.com
  13. Android微信道共用,没有反应
  14. Map的clear与new Map的区别
  15. wsl 子系统 用户目录位置
  16. CentOS virt-manager 安装Win2008r2的一种GUI方法
  17. Unix api
  18. VBA: 怎样批量数据从Excel派出到Visio
  19. Eclipse下配置TinyOS开发环境
  20. 解决 idea template jsp模板中使用自定义路径 模板不显示问题

热门文章

  1. System.Types.hpp(77): E2029 &#39;TObject&#39; must be a previously defined class or struct
  2. JEECG-P3开发专题 - 开发环境搭建入门
  3. day19-高阶函数、匿名函数
  4. crontab使用说明及例子程序
  5. python 之列表推导式,集合推导式,以及字典推导式
  6. numpy笔记
  7. mysql 索引,转载
  8. Tesseract-OCR4.0版本在VS2015上的编译与运行(转)
  9. Lazarus下改变DBGrid记录的颜色,与Delphi不同了。
  10. C语言复习:文件操作