题面

有这么一类题,它让你求一个0/1环经过T轮周围异或过程之后的样子。

周围异或即 a[i][k] = a[i-1][k-1] ^ a[i-1][k+1] ,其中第一维表示轮数,第二维表示位置。

千万不要往组合数二项式定理想,因为这种题就是个套路。。。。。。

我们发现 ,经过 2^j轮之后,a[i][k] = a[i-2^j][k-2^j] ^ a[i-2^j][k+2^j],至于证明可以尝试画图&数学归纳。

显然周围异或的过程是满足结合律的,所以我们直接倍增即可。

#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=100005; int s[2][N],n,now,pre;
ll T; inline void read(){
char ch=getchar();
while(ch!='0'&&ch!='1') ch=getchar();
for(int i=1;i<n;i++,ch=getchar()) s[0][i-1]=ch-'0';
s[0][n-1]=ch-'0';
} inline int add(int x,int y){ x+=y; return x>=n?x-n:x;} int main(){
scanf("%d%lld",&n,&T);
read(); for(int i=1,l,r;T;T>>=1,i=add(i,i))
if(T&1){
pre=now,now^=1;
l=n-i,r=i;
if(l==n) l=0; for(int j=0;j<n;j++,l=add(l,1),r=add(r,1)) s[now][j]=s[pre][l]^s[pre][r];
} for(int i=0;i<n;i++) putchar(s[now][i]==1?'1':'0');
return 0;
}

  

[CCC 2016] 生命中的圆的更多相关文章

  1. ASP.NET 页面生命中的关键事件的执行顺序

    表 1:ASP.NET 页面生命中的关键事件 阶段 页面事件 可覆盖的方法 页面初始化 Init   加载视图状态   LoadViewState 处理回发数据   任意实现 IPostBackDat ...

  2. 计算机图形学(二)输出图元_6_OpenGL曲线函数_2_中点画圆算法

    中点画圆算法        如同光栅画线算法,我们在每一个步中以单位间隔取样并确定离指定圆近期的像素位置.对于给定半径r和屏幕中心(xc,yc),能够先使用算法计算圆心在坐标原点(0, 0)的圆的像素 ...

  3. opencv中画圆circle函数和椭圆ellipse函数

    1.      void ellipse(InputOutputArray img, Point center, Size axes, double angle, double startAngle, ...

  4. LOJ#2799. 「CCC 2016」生命之环

    题意 给你一个 \(n\) 个 \(\rm 01\) 组成的环,每次操作之后每个位置为1当且仅当他的左右恰好有1个1.输出进行 \(T\) 次操作之后的环. \(n\leq 10^5, T\leq 1 ...

  5. html 表格中添加圆

    效果: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" con ...

  6. 【Java学习经历系列-1】19岁的我,没遇见生命中的她,却遇见了java

    [写在前面]正直青春年少的你,遇到了你的她了吗?还是你也和我们今天的主人公一样,在最美好的年级,正在为你的初衷努力着,坚持着,奔波着..... 作者:李伟   我的黑客时代 01 大学专业是电子信息工 ...

  7. 在 SharePoint Server 2016 本地环境中设置 OneDrive for Business

    建议补丁 建议在sharepoint2016打上KB3127940补丁,补丁下载地址 https://support.microsoft.com/zh-cn/kb/3127940 当然不打,也可以用O ...

  8. WebGIS中基于AGS的画圆查询简析以及通过Polygon来构造圆的算法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 某个项目需求中需要在前端进行画圆查询,将圆范围上的多边形要素 ...

  9. 【BZOJ 4561】【JLOI 2016】圆的异或并

    http://www.lydsy.com/JudgeOnline/problem.php?id=4561 一开始并不会做,后来看题解看懂了. 看懂了之后还是错了好几次,数组大小手残开小了. 圆的包含并 ...

随机推荐

  1. sql server 数据库中明明有值但是查询怎么都查不到值

    产生原因是因为编码问题 数据库是英文版  但是数据库中数据又是中文的 所以查询中文时需要加上N select * from customer where Username=N'张三'

  2. java中的多态总结

    一.多态的概述 ava作为面向对象的语言,同样可以描述一个事物的多种形态.如Student类继承了Person类,一个Student的对象便既是Student,又是Person. Java中多态的代码 ...

  3. Xcode8警告⚠️ Empty paragraph passed to '@xxx' command

    问题 Xcode8升级后,之前添加的注释会有很多警告 解决方法 基础知识,就是在编译选项中,添加警告屏蔽 解决步骤 显示警告信息 显示警告信息.png 查看警告类型 查看警告类型.png 屏蔽警告 W ...

  4. 如何创建一个前端 React 组件并发布到 NPM

    首先npm文档摆在这里: https://www.npmjs.cn/ 参考组件 https://github.com/rakuten-rex/rex-dropdownhttps://www.npmjs ...

  5. 使用Google Thumbnails 压缩图片

    背景说明:最近项目中需要用到一些图片文件的上传 ,但是有些图片很大,比如轮播图,大有的有几兆,这样加载一个首页都要很久,显然这样对用户体验是非常不友好的,对服务器资源将是一种浪费. 为了解决这个问题, ...

  6. How to export Overload functions from DLL?

    Library that exports functions library liba; procedure F(X: Integer); stdcall; overload; begin end; ...

  7. intellij idea打包出来的jar包,运行时中文乱码

    比如以下代码: import javax.swing.*; public class addJarPkg { public static void main(String[] args) { JFra ...

  8. Caffe---Pycaffe转换均值文件:xxx_mean.binaryproto成为xxx_mean.npy

    Pycaffe转换均值文件:xxx_mean.binaryproto成为xxx_mean.npy 为什么需要mean.binaryproto转mean.npy? 使用Caffe的C++接口进行操作时, ...

  9. IDEA设置左侧边栏修改代码后变色

    首先声明,此功能是基于版本控制的,不管是基于git或者是svn, 都要有版本控制方可使用. 平常情况下,IDEA左边栏是没有颜色的,如下图所示 当我们修改了代码,左侧就会有颜色显示, 右侧滚动条处也有 ...

  10. 洛谷 P2746 [USACO5.3]校园网Network of Schools (Tarjan,SCC缩点,DAG性质)

    P2746 [USACO5.3]校园网Network of Schools https://www.luogu.org/problem/P2746 题目描述 一些学校连入一个电脑网络.那些学校已订立了 ...