Icefox的博客

生活不止眼前的苟且,还有诗和远方。

bzoj5285 [Hnoi2018]寻宝游戏(思路题+Hash)

这题真是神orz 我们每一位单独考虑,注意到|0和&1对最终的结果是没有影响的。因此最终的结果只在于最后一个是|1,&0的哪一个。 对于第i位,我们搞出一个b[i],如果第j个数第i位为1,那么b[i]+=bin[j]。 这样我们就得到了一个左...

2018-06-07 17:17:38

阅读数:134

评论数:0

CF963B Destruction of a Tree(树+构造)

给定一棵树,每次删掉一个偶数度数的点及他的边,问能否把这棵树全删掉。 可以证明偶数个点的树一定不行。(每次一定是删掉偶数条边,而偶数个点的树有奇数条边。) 奇数个点的树一定可以。为啥呢,你只要会证就好啦。 证明具体参见Visjiao 博客:portal #include &...

2018-05-23 10:23:40

阅读数:96

评论数:0

bzoj5278 [Usaco2018 Open]Out of Sorts(智商题+BIT)

双向冒泡排序,问你需要跑几趟。 定义MiM_i表示前i个数中排序后不在前i个的数的个数。 则MiM_i就是答案的一个下界,因此所有MiM_i的最大值就是答案。 可以用一个BIT来维护。 为啥呢?考虑i,i+1之间的分割点,你每一趟双向冒泡,实际上是使得一个在分割点左边的本应在右边的跑到了右...

2018-04-21 13:50:10

阅读数:379

评论数:0

bzoj5277 [Usaco2018 Open]Out of Sorts(智商题)

首先我们注意到,对一个序列按分割点分开以后分别冒泡其实就相当于对整个序列进行冒泡。每一个元素都会对复杂度贡献1,除非一个元素两边的分割点都出现了。因此我们可以完全忽略快排的递归过程。只需考虑每个元素在经历几趟冒泡排序之后两边的分割点都出现了。考虑一个分割点,不妨就是在i,i+1之间的这个分割点,他...

2018-04-20 23:16:29

阅读数:427

评论数:0

bzoj5187 [Usaco2018 Jan]Sprinklers(数学+计数+前缀和)

这题真是神orz 首先我们发现原问题可以转化为:问你有多少对点对(x1,y1),(x2,y2)满足x1<x2,y1<y2x1<x2,y1<y2x1x1<x2,y1<...

2018-03-13 23:00:18

阅读数:244

评论数:0

CF276D Little Girl and Maximum XOR(思路题)

不知道该说些什么。。。

2018-03-11 15:15:30

阅读数:78

评论数:0

CF475D CGCDSSQ(数学+map)

我们记xi=gcd(xi−1,a[i])x_i=gcd(x_{i-1},a[i]),则x中不同的数值最多有1+loga[i]1+log a[i]个。因此我们就可以直接暴力统计答案。用map即可。从n到1枚举左端点,更新答案。

2018-03-02 16:39:02

阅读数:83

评论数:0

CF103D Time to Raid Cowavans(分块)

对于b>n√\sqrt n的,暴力跳即可。其他的可以O(n)先类似dp的求出sum[i],表示以i为a的答案,然后O(1)回答询问。于是我们先把所有询问按b排序即可。复杂度O(nn√)O(n\sqrt n)

2018-03-02 10:32:32

阅读数:99

评论数:0

CF348C Subset Sums(分块)

给定一个n个数的序列a,m个下标集合,记Sk={Sk,i}S_k=\{S_{k,i}\}。两种操作: 1. ? k 求集合k的和,即∑i=1|Sk|aSk,i\sum\limits_{i=1}^{|S_k|}a_{S_{k,i}} 2. + k w 给集合k的所有下标代表的数加w。 3. 记...

2018-03-02 09:41:35

阅读数:94

评论数:0

bzoj2456 mode(思路题)

好神?假设众数a出现了x次,则要想now最后不是a,至少需要x个其他的数,则一共至少2x个数,而x>n/2。不成立。

2018-01-11 16:29:10

阅读数:165

评论数:0

AtCoder Regular Contest 068

AtCoder Regular Contest 068 题目链接: https://arc068.contest.atcoder.jp/ C.X: Yet Another Die Game(结论题) D.Card Eater(结论题) E.Snuke Line(思路+主席树) 我们考虑...

2017-12-20 09:59:58

阅读数:158

评论数:1

AtCoder Grand Contest 008

AtCoder Grand Contest 008 题目链接: https://agc008.contest.atcoder.jp/ A.Simple Calculator(模拟) B.Contiguous Repainting(贪心+枚举) C.Tetromino Tiling(奇偶性)...

2017-11-22 16:59:13

阅读数:1052

评论数:1

agc012E Camel and Oases(状压dp+思路题)

这题神啊。状压dp你敢信?思维难度爆表还有一堆细节要注意???orz Visjiao 原题链接:http://agc012.contest.atcoder.jp/tasks/agc012_e 大神题解:http://blog.csdn.net/vicjiao/article/details/7...

2017-11-09 14:38:05

阅读数:219

评论数:0

bzoj4719 [Noip2016]天天爱跑步(树+lca+树上差分+思路题)

进入bzoj法眼的noip(lus)题hh。题解太麻烦啦。。。不写啦。。。就体会一下思想:要是对于每条路径操作,看他会影响哪些点的贡献,铁铁的会t。所以考虑怎样的一条路径会对一个点产生贡献,先讨论简化版的链的情况,发现要讨论左右。结合另外两个部分分,感觉就是把路径分成两半,x->lca,lc...

2017-11-01 21:47:38

阅读数:257

评论数:0

NOIP模拟11.1

Poetize9 A.communicate (部分分搞了90,仙人掌我哪会啊。。) B.queue 暴力(被我暴力水过了???) C.signal 位运算+瞎搞?(ll加错地方,爆0滚粗(还好有暴力40分)

2017-11-01 14:37:08

阅读数:149

评论数:0

AtCoder Grand Contest 010

%%%leoly %%%Visjiao %%%Elijahqi 题解可以去看VisJiao大佬的:传送门 AtCoder Grand Contest 010 A.Addition(数学,奇偶性) B.Boxes (数学) C.Cleaning(树+结论) D.Decrementin...

2017-10-26 21:53:06

阅读数:277

评论数:0

CF343D Water Tree(线段树+dfs序+思路)

首先对于操作一,我们按照老套路把树上结点用dfs序变成序列,每个结点的子树均为in[x]~out[x]连续的一段,段修改即可。对于操作2,往上找父亲肯定不好实现,怎么办呢?我们只改这一个点,把他改为0,然后在询问x点的时候,我们查询x的子树中是否有0,有的话他一定也是0(他一定是那个点的父亲)。这...

2017-10-07 22:39:49

阅读数:108

评论数:0

CF384E Propagating tree(线段树+思路题)

首先把子树通过dfn化为连续的区间。然后看操作: 1.对x加val,对他的儿子们-val,对他的儿子的儿子们+val,直到叶子。 2.求一个位置的数是多少。 第一个操作比较难搞,我们发现它是隔层做的,也就是说把每个点按照深度分成两组,做x点时,他的子树中与他同组的都+val,不同组的都-va...

2017-09-24 22:03:50

阅读数:105

评论数:0

poj1062 [ZJOI2002]昂贵的聘礼(spfa+枚举)

思路见神犇http://gisyhy.blog.163.com/blog/static/12939034320099883715624/ 这题比较麻烦的地方在于等级限制,让我们很不好下手,突破口:1一定在最短路上,所以区间最大为[lev[1]-m,lev[1]+m],但是这样还不满足每两个点的等...

2017-09-07 13:08:49

阅读数:138

评论数:0

CF853B Jury Meeting(dp)

把航班按出发时间从小到大排序。从前往后扫,求出dp[i]表示i时刻全都已出发的最小花费(i时刻全部已出发,也就是说可选航班是一个时间均小于i的前缀,在这些航班中选择n个人的最小花费,具体处理见代码)。类似的,从后往前扫,求出dp1[i]表示i时刻开始走,全部返回的最小花费(也就是说可选航班是一个时...

2017-09-06 22:37:53

阅读数:225

评论数:0

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