博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces Round #207 (Div. 2)C. Knight Tournament
阅读量:6292 次
发布时间:2019-06-22

本文共 1288 字,大约阅读时间需要 4 分钟。

- -比赛时用了很奇怪的方法  然后最后评判TLE了。。。。  赛后中规中矩的用线段树过了

#include 
#include
#include
#include
using namespace std;int kn[300005], len[300005];struct segTree{ int l, r, va;} seg[300005<<2];void build(int l,int r,int rt){ seg[rt].l=l, seg[rt].r=r, seg[rt].va=0; if(l==r) return; int m=(l+r)>>1; build(l,m,rt<<1); build(m+1,r,rt<<1|1);};void change(int l,int r,int rt,int va){ int tl=seg[rt].l, tr=seg[rt].r; if(seg[rt].va) return; if(tl==tr) { seg[rt].va=va; return; } int m=(tl+tr)>>1; if(l<=m) change(l,r,rt<<1,va); if(r>m) change(l,r,rt<<1|1,va); if(seg[rt<<1].va&&seg[rt<<1|1].va) seg[rt].va=1;}void cg(int x,int rt){ int tl=seg[rt].l, tr=seg[rt].r; if(tl==tr) { seg[rt].va=0; return; } int m=(tl+tr)>>1; if(x<=m) cg(x,rt<<1); if(x>m) cg(x,rt<<1|1); seg[rt].va=0;}void update(int l,int r,int rt){ int tl=seg[rt].l, tr=seg[rt].r; if(tl==tr) { printf("%d ",seg[rt].va); return; } update(l,r,rt<<1); update(l,r,rt<<1|1);}int main(){ int n, m, i, j, l, r, x; scanf("%d%d",&n,&m); build(1,n,1); for(i=0; i

 

 

转载于:https://www.cnblogs.com/ink-syk/p/3371685.html

你可能感兴趣的文章
Lancel sac négociation avec insistance que nous pourrions réaliser de quelle route
查看>>
空白表单提交到后台的数据类型总结(java)
查看>>
Vue问题区
查看>>
[原]Unity3D深入浅出 - Shader基础开发
查看>>
netty之ByteBuf详解
查看>>
数据泵导出oracle 10g数据库
查看>>
LYSE-模块
查看>>
Date Picker和UITool Bar控件简单介绍
查看>>
sql server 实现多表连接查询
查看>>
HTTP 1.1与HTTP 1.0的比较
查看>>
如何在命令行脚本中启动带参数的Windows服务
查看>>
abstract vs interface
查看>>
nodejs笔记1 ----关于express不是本地命令
查看>>
python debug
查看>>
docker-machine 远程安装docker
查看>>
最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等
查看>>
Java Web之Servlet中response、request乱码问题解决
查看>>
felx屏蔽文本框输入回车
查看>>
[转载].NET商业软件源码保护
查看>>
第58件事 借势文案创作实例
查看>>