codeforces #313 div1 B
模拟判定就可以了
判定字符串是否相等用hash来判断
QAQ 值得一提的是一开始我交的时候T了
结果我将递归的顺序调整了一下就A了
(并不知道为什么
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<iostream>
#include<algorithm>
using namespace std; typedef unsigned long long LL;
const int maxn=200010;
const int x=13331;
int n;
char s[maxn];
char p[maxn];
LL xp[maxn],hs[maxn],hp[maxn]; bool cmp(int a,int b,int c,int d){
return hs[a]-hs[b+1]*xp[b-a+1]==hp[c]-hp[d+1]*xp[d-c+1];
}
bool Solve(int a,int b,int c,int d){
if(cmp(a,b,c,d))return true;
if((b-a+1)&1)return false;
int e=(a+b)>>1;
int f=(c+d)>>1;
if(Solve(a,e,f+1,d)&&Solve(e+1,b,c,f))return true;
if(Solve(a,e,c,f)&&Solve(e+1,b,f+1,d))return true;
return false;
} int main(){
scanf("%s",s+1);scanf("%s",p+1);
n=strlen(s+1);
xp[0]=1;
for(int i=1;i<=n;++i)xp[i]=xp[i-1]*x;
hs[n+1]=0;hp[n+1]=0;
for(int i=n;i>=1;--i){
hs[i]=hs[i+1]*x+s[i]-'a';
hp[i]=hp[i+1]*x+p[i]-'a';
}
if(Solve(1,n,1,n))printf("YES\n");
else printf("NO\n");
return 0;
}
codeforces #313 div1 B的更多相关文章
- codeforces #313 div1 E
首先我们要注意到一个事情 如果一个灯塔向左覆盖,那么比他小的某个灯塔如果向左覆盖的端点大于当前塔向左覆盖的端点,他一定向右覆盖 对于当前灯塔向右覆盖也是同理 那么我们只需要记录当前覆盖到的端点就可以完 ...
- codeforces #313 div1 D
好神的题目! 首先我们运用pick定理A=S-B/2+1将要求的东西转化掉 之后分离变量,我们变成了求选取凸包面积的期望和求选取凸包在边界上的点的期望 我们先考虑求选取凸包面积的期望 如何计算凸多边形 ...
- codeforces #313 div1 C
同BZOJ 3782 上学路线 QAQ 还比那个简单一点 把坐标(1,1)-(n,m)平移成(0,0)-(n-1,m-1) 设dp[i]表示从(1,1)出发第一次经过障碍且到达第i个障碍的方案数 首先 ...
- codeforces #313 div1 A
捕获一只野生大水题! 首先我们知道边长为L的正三角形含有边长为1的小正三角形为L^2个 那么我们可以通过在六边形的正上,左下,右下补充正三角形使得原图形变成正三角形 然后再将补充的减去即可 #incl ...
- codeforces 407 div1 B题(Weird journey)
codeforces 407 div1 B题(Weird journey) 传送门 题意: 给出一张图,n个点m条路径,一条好的路径定义为只有2条路径经过1次,m-2条路径经过2次,图中存在自环.问满 ...
- codeforces 407 div1 A题(Functions again)
codeforces 407 div1 A题(Functions again) Something happened in Uzhlyandia again... There are riots on ...
- Codeforces Round 313(div1)
A题: 题目大意: 给出内角全为120度的六边形的六条边的边长,求由多少边长为1的等边三角形构成. 解题思路: 将六边形补全为一个大的等边三角形,则大的等边三角形的边长为六边形的相邻三边之和,接着减去 ...
- codeforces #305 div1 done
总算搞定了这一场比赛的题目,感觉收获蛮大 其中A,B,C都能通过自己的思考解决掉 D题思路好神,E题仔细想想也能想出来 以后坚持每两天或者一天做一场CF的div1的全套题目 除非有实在无法做出来的题目 ...
- Codeforces #254 div1 B. DZY Loves FFT 暴力乱搞
B. DZY Loves FFT 题目连接: http://codeforces.com/contest/444/problem/B Description DZY loves Fast Fourie ...
随机推荐
- Query 快速入门教程
Query 快速入门教程 http://www.365mini.com/page/jquery-quickstart.htm#what_is_jquery jquery常用方法及使用示例汇总 http ...
- java学习笔记_GUI(4)
import javax.swing.*; import java.awt.event.*; import java.awt.*; class MyPanel_0 extends JPanel { p ...
- 当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS2\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files”的写访问权限。
卸载了域控制器之后,IIS出现“当前标识(NT AUTHORITY\NETWORK SERVICE)没有对“C:\WINDOWS2\Microsoft.NET\Framework\v4.0.30319 ...
- 通过 SuperObject 生成 json string
(* { "name": "Henri Gourvest", /* this is a comment */ "vip": true, &q ...
- FIFO、LRU、OPT这三种置换算法的缺页次数
考虑下述页面走向: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 当内存块数量分别为3时,试问FIFO.LRU.OPT这三种置换算法的缺页次数各是多少? 答:缺页定义 ...
- AJAX 原理(转摘)
在写这篇文章之前,曾经写过一篇关于AJAX技术的随笔,不过涉及到的方面很窄,对AJAX技术的背景.原理.优缺点等各个方面都很少涉及null.这次写这篇文章的背景是因为公司需要对内部程序员做一个培训.项 ...
- IPHONE开发知识
IPHONE开发知识http://www.cnblogs.com/valensoft/archive/2010/06/09/1754836.htmlhttp://www.cocoachina.com/ ...
- linux内核驱动中_IO, _IOR, _IOW, _IOWR 宏的用法与解析(引用)
在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值.cmd除了可区别数字外,还包含有助于处理的几种相应信息. cmd的大小为 32位,共分 4 个 ...
- 2016 系统设计第一期 (档案一)MVC bootstrap model弹出窗
局部代码: <!-- 按钮触发模态框 --> <div style=""> <button class="btn btn-primary&q ...
- EXTJS4.2 时间动态刷新显示
function clockGo() { Ext.TaskManager.start({ run: function () { //Ext.getCmp("clock").setT ...