GDOI2017总结

~~~~今年的省选在东莞市东华高级中学举行,共计三百余人参加。
     ~~~~宾馆还可以,学校环境很不错,尤其是 比GF好到不知道哪里去的伙食。
     ~~~~机房布局和学校一样,系统是win7,体验比XP好多了。

Day 1. Day~1.
     ~~~~T1,一道字符串匹配模板题;
     ~~~~T2,求一棵有根树上任一点子树外的点权 mex mex;
     ~~~~T3,动态查询若干 trie trie的最长公共字串;
     ~~~~T4,求 k∼n k\!\sim\!n边形的所有三角剖分中 k k边形出现的次数的异或和。
    ~~~~我一读完题,凭着直觉就去想T4,很快就发现三角剖分方案数是 Catalan Catalan数。这时我以为我离正解已经不远,就一心想A掉这题。想了好久没思路,就去打了一下T1暴力。十二点整的时候,我终于想通了,赶紧打程序,结果发现连样例都没过…。最后只拿了一题70的暴力分。

Day 2. Day~2.
     ~~~~T1,一道广搜水题;
     ~~~~T2,对于每一个64位整数求出之前所有数中与其的汉明距离为3的数的个数;
     ~~~~T3,求出起始串至少要经过多少次”将一个字符从后往前拖“的操作才能变为目标串并输出方案数;
     ~~~~T4,给出一颗距离树和每个其节点上的守卫者之间的关系树,每个守卫者都有一个波动守卫半径 [l,r] \left [ l,r \right ],支持动态插入新节点,动态查询关系树上 u→v u \! \to \! v的守卫者守卫住节点 z z的期望人数。
    ~~~~今天吸取了昨天的教训,先好好切了T1,T2交了棵 trie trie,T3yy了一个 nlog2n n\,log_2\,n的贪心,最后拿了145的“标准分”(误)。

Day 3. Day~3.然而并没有进

总而言之.
     ~~~~问题还是出在第一天,不仅心态没调整好,做题也没有策略,该拿的分没有拿。明明T1交一发 KMP KMP就过了,我却图快用 find() find\left(\right);明明T2正解不过是 LCA LCA,无论是代码复杂度还是思维复杂度都远小于用母函数+NTT的T4,我却因为题意不清淅就选择了放弃。说了这么多,不过是在证明,明明努力一把就能稳进 Day 3 Day~3,我却发挥得如此失常,连个一等的头衔都捞不到。
     ~~~~无论如何,这次省选之后,我必须得回归到文化课之中,准备 我并没有必要准备的 中考。只希望这次的错误我能铭记在心,在来年发挥出属于自己的水平。

P.S. P.S.
     ~~~~在比赛的闲暇时间,我对一些代码的 黑 优化进行了钻研,稍微利用了一下struct的优点,搞出了下面的东西

#include<cstdio>
#define r_ return
#define in_ inline
#define add_ add<int>
#define d_add_ add<add_>
#define op_ operatorconst int mx=4000;
int x, n, t, a, b, c, d;
char s[2];
template<class data>
struct add
{int u, l, r, x, y; data a;in_ int cov() {r_ l>=x&&y>=r;}in_ int mis() {r_ l>y||x>r;}in_ add ls(){r_ (add){u<<1, l, l+r>>1, x, y, a};}in_ add rs(){r_ (add){u<<1|1, l+r+2>>1, r, x, y, a};}
};
in_ d_add_mat(int a, int b, int c, int d, int x){r_ d_add_{1, 1, n, a, b,add_{1, 1, n, c, d, x}};}
in_ d_add_ poi(int a, int b, int x){r_ mat(a, a, b, b, x);}
template<class data, class del>
struct node
{data a[mx];in_ int op_=(int x){static int i;for(i=1; i<mx; ++i) a[i]=0;}int op_+=(del b){if(b.mis()) r_ 0;this->a[b.u]+=b.a;if(b.cov()) r_ 0;*this+=b.ls(), *this+=b.rs();}int op_|(del b){if(b.mis()) r_ 0;if(b.cov()) r_ this->a[b.u]|b.a;r_ (*this|b.ls())+(*this|b.rs());}
};
node<node<int, add_ >, d_add_ > st;

struct bios
{inline int operator ++(int)
//我其实建议重载位运算或逻辑运算{static int r, c;for(r=0; (c=getchar())<48||57<c;);for(;c>47&&58>c; r=10*r+c-48, c=getchar());return r;}template<class fig>inline bios& operator +(fig &a){return a=(*this)++, *this;}template<class fig>inline bios& operator -(fig a){static int s[20], n;for(;;) if(s[n++]=a%10, !(a/=10)) break;for(;n;) putchar(s[--n]+48);return *this;}inline bios& operator -(const char *s){static unsigned int i;for(i=0; s[i]; ++i) putchar(s[i]);return *this;}
} f;

GDOI 2017总结(附蜜汁二维线段树+IO优化)相关推荐

  1. Codeforces Round #439 (Div. 2) E. The Untended Antiquity 二维线段树||二维树状数组

    http://codeforces.com/contest/869/problem/E 题意:n*m的矩阵,q次操作,三种类型 类型1:给指定矩阵加上围栏 类型2:给指定矩阵去掉围栏 类型3:查询两点 ...

  2. 10.25T2 二维线段树

    Description 为了准备校庆庆典,学校招募了一些学生组成了一个方阵,准备在庆典上演出. 这个方阵是一个n*m的矩形,第i行第j列有一名学生,他有一个能力值Ai,j. 校长会定期检查一个p*q的 ...

  3. BZOJ2877 NOI2012魔幻棋盘(二维线段树)

    显然一个序列的gcd=gcd(其差分序列的gcd,序列中第一个数).于是一维情况直接线段树维护差分序列即可. 容易想到将该做法拓展到二维.于是考虑维护二维差分,查询时对差分矩阵求矩形的gcd,再对矩形 ...

  4. POJ2155二维线段树

    题意:      给一个n*n的01矩阵,然后有两种操作(m次)C x1 y1 x2 y2是把这个小矩形内所有数字异或一遍,Q x y 是询问当前这个点的值是多少?n<=1000 m<=5 ...

  5. poj1195 Mobile phones 二维线段树入门

    二维线段树就是树套树,线段树套线段树... #include<iostream> #include<cstdio> #include<cstring> #inclu ...

  6. POJ-2155 Matrix 二维线段树 | 树状数组

    题目链接:http://poj.org/problem?id=2155 比较典型的二维线段树题目,直接永久更新即可,在询问的时候,要询问每个x区间的子树,复杂度O(log(n)^2). 也可以用树状数 ...

  7. [POJ2155] Matrix(二维线段树,树套树)

    题目链接:http://poj.org/problem?id=2155 题意:给一个01矩阵,两个操作,翻转:子矩阵里每一个数都由0变1,1变0. 查询:查询某一点是0还是1. 一直以为二维线段树就是 ...

  8. HDU1823(二维线段树)

    题目:Luck and Love 题意:当操作符为'I'时,表示有一个MM报名,后面接着一个整数,H表示身高,两个浮点数,A表示活泼度,L表示缘分值. (100<=H<=200, 0.0& ...

  9. 【NOI2019】弹跳【二维线段树】【dijkstra】

    题意:一个w×hw\times hw×h的二维平面上有nnn个城市,有mmm个弹跳装置,第iii个可以花费tit_iti​的时间从城市pip_ipi​跳到矩形x∈[l,r],y∈[u,d]x\in [ ...

最新文章

  1. Linux 内核代码行数达到 2700 万行量级
  2. MindSpore布道师队伍招募开始,助力小白成为大牛!
  3. python调用系统命令_Python如何调用外部系统命令
  4. 裴蜀定理(note)
  5. 计算机考试dw操作题,职称计算机考试Dreamweaver训练题
  6. python安装request库_Python——安装requests第三方库
  7. Sliverlight中使用Path绘制复杂几何图形
  8. 2012第50周星期日
  9. 认知无线电-频谱检测-匹配滤波
  10. jsp代码编写简单的BBS论坛项目的总结
  11. 学习笔记(4):《微电子器件》陈星弼(第四版)第2章 PN结
  12. 拼音分词器_自动补全
  13. 态势感知“裸奔”的中国人 | 专访 360 张翀斌
  14. 计算机蓝牙快捷键,笔记本蓝牙快捷键是什么_怎么打开笔记本电脑蓝牙-win7之家...
  15. 旁注虚拟主机IIS权限重分配跨目录得webshell
  16. 只需4步,就能在SOLIDWORKS创建首件检验报告(FAI)
  17. 鹏博士总经理陆榴遭免职 董事称事发突然
  18. 生活心语--幸福在哪里
  19. Mysql:Got error 28 from storage engine
  20. 2015移动技术白皮书

热门文章

  1. 正睿OI补题(排序,高精度)
  2. 固件(Firmware)与硬件(Hardware)
  3. 怀着对未来美好的憧憬和对C++的无限的崇拜
  4. P1295 棋子移动
  5. html+css实现好友列表,类似QQ群聊成员列表
  6. 使用SDL编写一个拖动开关点亮灯泡的程序
  7. 微信红包怎么改封面教程
  8. 摸鱼的小贤在瞎搞Python - Anaconda的安装
  9. 考研英语大纲单词P~Z与固定搭配
  10. 上网查资料无意间搜到国家级黑客组织,于是就了解了一下 原创