自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tgotp的博客

蒟蒻...

  • 博客(121)
  • 收藏
  • 关注

原创 博客

博客链接: Tgotp Blog

2018-01-17 14:38:50 387

原创 OI回忆录

原本是不打算这时候写的,计划是高考以后再写的,但是今天(2019.9.30)看到yxq写了,并且国庆刚好有时间,我也总结一下,写上我高中这一段对于我所处环境来说算是特殊的经历吧,主要也就是高中这一段竞赛经历。序我本来是不知道竞赛这么一回事的,初三的毕业的时候,由于当时非常喜欢班主任,学校那么一洗脑,坚定了呆在广外念书的想法,印象里是毕业那天,班主任在班里说,学校现在很厉害,组织了学生可以在暑假...

2019-10-01 02:09:18 1315

原创 NOI2019退役记

NOI2019退役记DAY-1:到了广二,结果发现一大堆东西没有买,然后和xtx打车去买了一堆东西qwq,晚上打摆DAY0:​ 上午开幕式,下午笔试+试机,笔试毫无悬念的100,晚上打摆DAY1:​ 花了两个半小时写了t1,然后想到了t3正解,花了一个半小时写wa 了,最后一个小时写完了两个暴力​ 去查分的路上别人说t1大样例很水,一度很慌,最后发现t1是最思博的,放mq过不知道出题...

2019-07-18 21:54:02 2182 1

原创 #2479. 「九省联考 2018」制胡窜

写起来复杂,但是说起来并不复杂的一道题。。。首先这题如果直接考虑满足条件的会发现极为毒瘤。反过来考虑用总方案-不满足条件的就会友好的多。考虑如何求不满足条件的。发现实际上本质就是用两条线穿过所有的串sl,rs_{l,r}sl,r​设现在有mmm个串,第iii串的左右端点为li,ril_i,r_ili​,ri​那么在不考虑离r1r_1r1​最近的lil_ili​时,答案为∑(ri+1−r...

2019-04-04 07:58:14 300

原创 THUWC2019滚粗记

菜鸡是永远不可能翻盘的。以下流水账警告。DAY 0:坐高铁到了广州,热的一比,换了一套衣服,找xtx面基,然后回去找psj打了一场cf,就睡觉了。DAT 1:带了一点东西就匆忙去了广二,发了一些东西吃过午饭就马上去体育场打了第一场比赛。听说往年打完暴力一等约很稳?考之前一直想着策略,但是事实上最后并没有用到。上来看T1,感觉挺可做的,yy了个菜鸡莫队,加了玄学参数搞了63,就已经过去...

2019-01-23 19:16:11 862 1

原创 5104: Fib数列

首先发现递推是解决不了这个问题的.考虑用通项公式解决.有公式fn=15((1+52)n−(1−52)n)f_n=\frac{1}{\sqrt 5}((\frac{1+\sqrt 5}{2})^n-(\frac{1-\sqrt 5}{2})^n)fn​=5​1​((21+5​​)n−(21−5​​)n)那么即求解:a≡15((1+52)n−(1−52)n)(mod&ThinSpace...

2018-12-10 10:48:52 392 1

原创 noip2018游记

骗点访问量(好久之前写的)添加链接描述

2018-11-28 21:11:49 405

原创 #6398. 「THUPC2018」生生不息 / Lives

放一份爆搜代码(能跑过所有数据,5 5 在十分钟左右?):#include<bits/stdc++.h>#define rep(i,x,y) for(register int i = x;i <= y; ++ i)#define repd(i,x,y) for(register int i = x;i >= y; -- i)using namespace std;...

2018-11-27 21:03:58 360

原创 5372: [Pkusc2018]神仙的游戏

这题务必用fft写,反正ntt我bzoj一直tle,loj 8s做这题首先要知道一个性质,如果选取长度为len的串,那么该串可行,一定满足不存在一对 01,其距离相差len (X而不是一开始我想的类似 另外一个fft的题… 那么如果存在一对01其距离差为len,那么对于所有k|len的串都不可行。 考虑首先求出所有01串的差值len, 暴力n^2肯定不行 考虑两个数组a,b,若s[i]...

2018-06-10 21:01:17 488

原创 4237: 稻草人

考虑两个点x,yx,yx,y不能构成一个合法方案, 必须满足对于存在点zzz 满足 a[x].x&lt;a[z].x&lt;a[y].xa[x].x&lt;a[z].x&lt;a[y].x a[x].x < a[z].x < a[y].x 和a[x].y&lt;a[z].y&lt;a[y].ya[x].y&lt;a[z].y&lt;a[y].ya[x].y < a[z].y < a[y]....

2018-06-01 09:01:36 310

原创 F. Isomorphic Strings

仔细读题后发现就是每个字母对应的f都要相同。 那么就把每个字母单独提出来处理即可。 然后找到第一个该字符所匹配的字母,然后看两串是否相同 hash即可 c++代码如下:#include&lt;bits/stdc++.h&gt;#define lowbit(x) (x &amp; -x)#define rep(i,x,y) for(register int i = x ;i &l...

2018-05-22 21:40:41 360

原创 G. Team Players

直接上容斥, 然后暴力判断。 搞定… c++ 代码如下:#include&lt;bits/stdc++.h&gt;#define lowbit(x) (x &amp; -x)#define rep(i,x,y) for(register int i = x ;i &lt;= y; ++ i)#define repd(i,x,y) for(register int i = x ; i...

2018-05-22 21:35:42 272

原创 2811: [Apio2012]Guard

花了一天时间颓废这道题(颓废才是重点。。。) 贪心的想,从左望右,对于可以放的位置,放在最后一定能得到最优解,反之亦然 那么先考虑处理掉所有0的区间,然后离散化。 然后处理出对于每个区间最少花多少代价处理出来。(前缀 ,后缀) 那么容易想到,如果离散化后只有k个点,那么直接输出答案即可。 并且 如果区间大小为1 也必须直接输出。 除此之外,所有输出的点一定是当前区间的右端点。 那么考...

2018-05-21 21:53:45 259

原创 #484 F. The Meeting Place Cannot Be Changed

异常暴力的算法. 就是枚举每个点当作答案,然后判断当前点是否可行。。。 不过要按照每个点的度数先来排序。 就这样… c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ; i &lt;= y; ++ i)#define repd(i,x,y) for(register int ...

2018-05-19 10:28:46 256

原创 Codeforces Round #484 (Div. 2) E. Billiard

首先容易想到暴力枚举,,, 代码:#include&lt;bits/stdc++.h&gt;#define PI acos(-1)#define rep(i,x,y) for(register int i = x; i &lt;= y; ++ i)#define repd(i,x,y) for(register int i = x; i &gt;= y; -- i)#define...

2018-05-18 14:54:06 298

原创 3569: DZY Loves Chinese II

三倍经验… 这个给边随机化我似乎在那里见过? …大概就是给边分为树边和非树边,非树边的值是随机的,树边的边是子树的非树边的异或和 然后线性基搞一搞就好了 c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ;i &lt;= y; ++ i)#define repd(i,x,y)...

2018-05-08 19:54:30 211

原创 5312: 冒险

题解:链接 c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ;i &lt;= y; ++ i)#define repd(i,x,y) for(register int i = x ; i &gt;= y; -- i)using namespace std;typedef lo...

2018-05-08 10:43:38 345

原创 5313: 新Fib数列

很明显在%5的意义下只会有 0 1 2 3 4 这几个取值且由于fib数列由前两项推出,那么很显然打个表就行了,,,c++代码如下:#define rep(i,x,y) for(register int i = x; i &lt;= y; ++ i)using namespace std;template&lt;typename T&gt;inline void read(T&...

2018-05-07 20:59:21 346

原创 2396: 神奇的矩阵

一开始想了个fft 时间复杂度O(t∗n2log&nbsp;n2)O(t∗n2log&nbsp;n2) O( t * n^2 log\ {n^2}) 应该超时了… 然后看了题解… 随机化… c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ; i &lt;= y; ++ i)...

2018-05-07 09:34:17 636

原创 3670: [Noi2014]动物园

仔细看完题以后,发现肯定和kmp有关,先搞出 next 数组然后发现答案就是某一个next &lt; i/2时的值但是这个样子的话极限情况时n^2,发现瓶颈在于找next,然后考虑倍增一下就出来了.注意卡常c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ; i &...

2018-05-05 16:25:42 199

原创 3083: 遥远的国度

唔,没初始化 wa了一次… 思路很一眼。 就是说 考虑 树剖 如果 查询点是首都的祖先,那么查询点构成的子树就是 整个树除了 查询点包含 首都的儿子以外所有点。 那么 知道一个子树在树剖上是连续一段区间, 即 现在需要求 出 包含首都的那棵子树的根, 用类似倍增lca的方法即可。 对于查询点不是首都的祖先的情况,答案直接为 查询点这棵子树 的答案 搞定 c++代码如下:#inc...

2018-05-05 09:48:05 206

原创 2435: [Noi2011]道路修建

普…普及组? 读完题以后我感觉我是不是读错题了…. 然后发现真的是水题… 按题目所说的模拟就好了… 一遍dfs搞定 c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ; i &lt;= y; ++ i)#define repd(i,x,y) for(register int...

2018-05-05 08:31:33 208

原创 4241: 历史研究

回滚莫队 … 就是说对于这题来说,添加容易,但是删除困难,那么就不考虑删除,即把左右端点分别放在块的两边,中间的是可以直接处理出来,然后块中的暴力更新,完了以后再变更为更新前的状态即可. 复杂度O(nn‾√)O(nn)O(n\sqrt {n}) c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register in...

2018-05-04 09:19:59 215

原创 2654: tree

容易想到,对于 当前这个图,如果要得到恰好need条边,且边权和最小, 那么就要控制白边在生成图中的数量…那么想到如果给所有白边加一个值, 跑克鲁斯卡尔的话白边数量就会变化,那么考虑二分即可。 c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ; i &lt;= y ;++ i)...

2018-05-03 18:26:56 168

原创 3790: 神奇项链

容易发现,处理回文串的时候得到的答案是可以去更新答案的, 即 令 f[i]f[i]f[i] 表示处理前 iii 个最小由几个回文串构成, 那么,对于第iii个位置,他由 [i−p[i],n][i−p[i],n][i-p[i],n]能更新的就是 前 [1,i+p[i]−1][1,i+p[i]−1] [1,i+p[i]-1] , 因为前后缀相同能直接放在一起,容易正确性很显然 然后dp方程用树...

2018-05-03 11:43:30 390

原创 5301: [Cqoi2018]异或序列

看完题,容易想到把求一段区间改成求 前r的异或和 ^ 前l-1的异或和 等于k, 那么这个东西发现可以直接用莫队统计,没了. c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ; i &lt;= y ; ++ i)#define repd(i,x,y) for(register ...

2018-05-03 07:18:50 290 1

原创 4898: [Apio2017]商旅

发现实际上把每个物品提出来做最短路后,可以转化为一个在图中求 最小的 ∑w∑time∑w∑time\frac{\sum{w}}{\sum{time}} 的环 上面那东西就是个01规划搞搞就行了,然后最小环直接套floyd即可 c++代码如下:#include&lt;bits/stdc++.h&gt;#define eps 1e-2#define rep(i,x,y) for(regi...

2018-05-02 20:58:18 237

原创 3726: PA2014Final Wykladzina

暂时的 rk1 看到题目发现很像 棋盘制作 。 稍加变形, 令 lll表示不包含 ## \# 且所在列包含一个 ## \# 最长向左延伸多少 令 rrr表示不包含 ## \# 且所在列包含一个 ## \# 最长向右延伸多少令 l1l1l1表示不包含 ## \# 且所在列不包含 ## \# 最长向左延伸多少 令 r1r1r1表示不包含 ## \# 且所在列不包含 ##...

2018-05-02 11:27:56 182

原创 2186: [Sdoi2008]沙拉公主的困惑

答案为n!m!∗m!∗(primei−1primei)(mod&nbsp;p)n!m!∗m!∗(primei−1primei)(mod&nbsp;p) \frac{n!}{m!}*m!*(\frac{prime_i-1}{prime_i}) (mod\ p)那么预处理即可,然后用快速幂算逆元c++代码如下:#include&lt;bits/stdc++.h&gt;#define re...

2018-05-01 17:01:15 197

原创 2257: [Jsoi2009]瓶子和燃料

普及组的题也开始做不来了… 一开始傻逼了,去写了个假算法… 后来才发现,直接用map统计每个数的因数不就好了… c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ; i &lt;= y; ++ i)#define repd(i,x,y) for(register int i...

2018-04-28 11:00:34 319

原创 3771: Triple

考虑三个多项式 a&nbsp;b&nbsp;ca&nbsp;b&nbsp;c a \ b \ c 令 aa a 表示选取一个相同的方案数 令 bb b 表示选取两个相同的方案数 令 cc c 表示选取三个相同的方案数 取一个的方案数即 aa a 取两个的方案数即 a2−b2a2−b2 \frac{a^2-b}{2} 考虑实际上 a2−ba2−b a^2-b 算得是排列数,...

2018-04-26 11:50:23 220

原创 hdu 2065 "红色病毒"问题

考虑生成函数 令G(x)=(1+x1!+x22!+x33!+x44!⋯)2∗(1+x22!+x44!⋯)2G(x)=(1+x1!+x22!+x33!+x44!⋯)2∗(1+x22!+x44!⋯)2 G(x) = (1 + \frac{x}{1!} + \frac{x^2}{2!} + \frac{x^3}{3!} + \frac{x^4}{4!} \cdots)^2 * (1 + \frac{...

2018-04-25 20:16:30 386

原创 2763: [JLOI2011]飞行路线

应该没啥说的,跑一遍spfa即可 c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x; i &lt;= y; ++ i)#define repd(i,x,y) for(register int i = x; i &gt;= y; -- i)using namespace std;...

2018-04-24 11:08:56 244

原创 1093: [ZJOI2007]最大半连通子图

tarjan + 拓扑序板子题c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ; i &lt;= y; ++ i)#define repd(i,x,y) for(register int i = x ; i &gt;= y; -- i)typedef long long ll...

2018-04-24 10:47:46 284

原创 1079: [SCOI2008]着色方案

很好的一道dpdpdp题,成功筛掉了我这种垃圾 O(ck)O(ck)O(c^k)的算法不难想到,然而这显然不行 考虑优化,把数量相同的颜色看作一组, 那么能知道在下一次转移的时候 只有是当前颜色数量减一的颜色数量统计时需要减一 复杂度O(kc)O(kc)O(k^c) c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) fo...

2018-04-24 10:09:36 115

原创 1034: [ZJOI2008]泡泡堂BNB

知道原本可以不用写的这么麻烦 懒得想了 容易想到优先匹配 胜利 的, 然后 再去 匹配平局 然后就是二分一下然后并查集搞搞就行了 对于 最小 得分 就是对手最大得分, 反过来对对手处理一遍即可 c++ 代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ; i &lt;= y; ...

2018-04-23 23:27:14 171

原创 4827: [Hnoi2017]礼物

首先知道旋转的一般套路就是开两倍。 然后此时发现可以把 ∑ni=1(ai−bi)2∑i=1n(ai−bi)2\sum_{i=1}^{n}(a_i-b_i)^2化作∑ni=1a2i+∑ni=1b2i−2∗∑ni=1ai∗bi∑i=1nai2+∑i=1nbi2−2∗∑i=1nai∗bi\sum_{i=1}^{n}a_i^2 + \sum_{i=1}^{n}b_i^2 - 2*\sum_{i=1}^...

2018-04-23 21:16:50 143

原创 4818: [Sdoi2017]序列计数

考虑至少含一个质数的方案等于所有方案 −−-不含质数方案 然后考虑如何求,看到1e91e91e9很容易想到矩阵快速幂, 然后转移也就出来了,对于不含质数的方案跑一边线性筛即可 c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ; i &lt;= y ; ++ i)#define...

2018-04-23 14:56:42 161

原创 5293: [Bjoi2018]求和

省选题竟然考模板题… 直接预处理 然后每次询问求lca即可 注意得卡一波常… c++代码如下:#include&lt;bits/stdc++.h&gt;#define rep(i,x,y) for(register int i = x ; i &lt;= y ; ++ i)#define repd(i,x,y) for(register int i = x ; i &gt;= y ...

2018-04-23 12:28:01 447

原创 4873: [Shoi2017]寿司餐厅

注意审清题意… 看错题导致浪费了一上午的时间发现其实就是个最大闭合子权图的水题 [l,r][l,r][l,r]肯定要向[l+1,r][l+1,r][l+1,r] [l,r−1][l,r−1][l,r-1]连边 sss向每一个值大于000的区间连边,所有值小于000的区间向ttt连边 把每一种寿司单独做一个点,选每一个点的时候再连过来即可c++代码如下:#include&lt;b...

2018-04-23 11:28:37 246

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除