[Codeforces #494] Tutorial
记录下一开始写错的两道水题
E:
先建出直径,然后在保证直径不变的情况下按照最大度数贪心就好了
注意一下一开始的特判
#include <bits/stdc++.h> using namespace std;
#define X first
#define Y second
typedef pair<int,int> P;
int n,d,k,tot;vector<P> res; void print()
{
puts("YES");
for(int i=;i<res.size();i++)
printf("%d %d\n",res[i].X,res[i].Y);
} void dfs(int u,int v,int dist,int idx)
{
if(u) res.push_back(P(u,v));
if(tot==n) print(),exit();
if(!dist) return;
for(int i=;i<=idx;i++)
dfs(v,++tot,dist-,k-);
} int main()
{
scanf("%d%d%d",&n,&d,&k);
if(n<=d||n>&&k<) return puts("NO");
for(int i=;i<=d;i++) res.push_back(P(i,i+));
tot=d+;if(tot==n) return print(),;
for(int i=;i<=d;i++)
if(tot<n&&k>) dfs(,i,min(i-,d-i+),k-);
puts("NO");
return ;
}
Problem E
F:
又双叒叕看错题目了,可以缩减多个相同的串……
一开始写的$KMP$,后来发现直接字符串$Hash$就能水过了
注意:此题用$ab$串卡自然溢出,一共只有300个因此单模数就能过
数据开头$dont hash with overflow$好评!
#include <bits/stdc++.h> using namespace std;
typedef unsigned long long ull;
typedef pair<int,int> P; const int MAXN=;
ull hs[MAXN],MOD=;char s[];
int n,res,tot,len,pre[MAXN]; ull cal_hash()
{
ull ret=;
for(int i=;i<strlen(s);i++)
ret=(ret*+(s[i]-'a'+))%MOD;
return ret;
} int main()
{
scanf("%d",&n);
for(int i=;i<=n;i++)
{
scanf("%s",s);int len=strlen(s);
tot+=len;pre[i]=pre[i-]+len;hs[i]=cal_hash();
}
tot+=n-; for(int i=;i<=n;i++)
for(int j=i;j<=n;j++)
{
int cnt=;
for(int k=j+;k+j-i<=n;k++)
{
bool f=true;
for(int l=;l<=j-i;l++)
if(hs[i+l]!=hs[k+l]) f=false;
if(f) cnt++,k+=j-i;
}
if(cnt>) res=max(res,(pre[j]-pre[i-]-)*cnt);
}
printf("%d",tot-res);
return ;
}
Problem F
[Codeforces #494] Tutorial的更多相关文章
- [Codeforces #172] Tutorial
Link: Codeforces #172 传送门 A: 一眼看上去分两类就可以了 1.每个矩形只有两条边相交,重合的形状为菱形 2.每个矩形四条边都有相交 对于情况1答案为$h*h/sin(a)$ ...
- [Codeforces #514] Tutorial
Link: Codeforces #514 传送门 很简单的一场比赛打崩了也是菜得令人无话可说…… D: 一眼二分,发现对于固定的半径和点,能包含该点的圆的圆心一定在一个区间内,求出区间判断即可 此题 ...
- [Codeforces #210] Tutorial
Link: Codeforces #210 传送门 A: 贪心,对每个值都取最大值,不会有其他解使答案变优 #include <bits/stdc++.h> using namespace ...
- [Codeforces #196] Tutorial
Link: Codeforces #196 传送门 A: 枚举 #include <bits/stdc++.h> using namespace std; #define X first ...
- [Codeforces #174] Tutorial
Link: Codeforces #174 传送门 A: 求原根的个数,有一条性质是原根个数为$\phi(\phi(n))$,多了一个不会证的性质 如果要确定哪些是原根的话还是要枚举,不过对于每个数不 ...
- [Codeforces #190] Tutorial
Link: Codeforces #190 传送门 A: 明显答案为$n+m-1$且能构造出来 #include <bits/stdc++.h> using namespace std; ...
- [Codeforces #211] Tutorial
Link: Codeforces #211 传送门 一套非常简单的题目,但很多细节都是错了一次才能发现啊…… 还是不能养成OJ依赖症,交之前先多想想corner case!!! A: 模拟,要特判0啊 ...
- [Codeforces #192] Tutorial
Link: Codeforces #192 传送门 前两天由于食物中毒现在还要每天挂一天的水 只好晚上回来随便找套题做做找找感觉了o(╯□╰)o A: 看到直接大力模拟了 但有一个更简便的方法,复杂度 ...
- [Codeforces #201] Tutorial
Link: 传送门 代码量很少的一套思维题 A: 试一试发现最后状态一定是所有$min,max$间$gcd$的倍数 直接判断数量的奇偶性即可 #include <bits/stdc++.h> ...
随机推荐
- Kubernetes: 集群网络配置 - flannel
参考: [ Kubernetes 权威指南 ] Kubernetes 集群搭建可以参考 [ Kubernetes : 多节点 k8s 集群实践 ] 在多个 Node 组成的 Kubernetes 集群 ...
- Spring 事务管理(山东数漫江湖)
最新又重新学习了一遍Spring的事务,这里做点总结,不做如何一步步配置的流水账. 1. 关键类 public interface PlatformTransactionManager { Trans ...
- Linux内核的架构
GNU/Linux操作系统架构 备注:IPC进程间通.IPC(Inter-Process Communication)是共享"命名管道"的资源,它是为了让进程间通信而开放的命名管道 ...
- DIV+CSS综合实例【传智PHP首页】
1.首页结构 2.准备工作 所有素材放到与当前网页同级的目录下: 网页背景色.背景图: 主页宽度:1000px: 创建CSS文件,将CSS文件引入到当前的HTML文件中. 3.实现 效果图: HTML ...
- 測試 battery capacity curve 的負載
昨天有同事問說, 他要測試 battery capacity curve, 並且負載要使用 33mA, 於是我想到有一個 apk 名稱為 快速放電 (最下方),可以控制 cpu 的 load, 他試了 ...
- libsensor
https://github.com/easyiot-china/libsensor https://github.com/adafruit/DHT-sensor-library https://gi ...
- 【bzoj4552】排序
二分一个值,然后线段树上模拟. #include<bits/stdc++.h> #define lson (o<<1) #define rson (o<<1|1) ...
- python读写hdf5及cdf格式文件
Python write and read hdf5 file http://stackoverflow.com/questions/20928136/input-and-output-numpy-a ...
- eclipse+cmake+c++11+ros
eclipse+cmake: https://www.vtk.org/Wiki/CMake:Eclipse_UNIX_Tutorial eclipse+c++11: https://wiki.ecli ...
- 最佳 WordPress 静态缓存插件 WP Super Cache 安装和使用(转)
WP Super Cache 是 WordPress 官方开发人员 Donncha开发,是当前最高效也是最灵活的 WordPress 静态缓存插件.它把整个网页直接生成 HTML 文件,这样 Web ...