bzoj
文章平均质量分 60
ZMOIYNLP
嗨嗨嗨嗨
展开
-
【bzoj3098】Hash Killer II【丧心病狂的大水题】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3098hint说的有道理。如果你从n个数里随机选数,那么大约选根号n次就能选到一样的(当然选了n次还没碰上是因为RP太好了- -)。这是著名的“生日攻击”问题,详情请看这里。代码很短:PS:貌似加了srand(time(NULL))会RE...... #includ原创 2015-02-16 11:23:49 · 1268 阅读 · 0 评论 -
一点数论题目
今年省选真是悲催第二天第二题没有人A,导致一堆二百五(我是说分数二百五,没有其他的意思~~)。。 bzoj1101:求∑ai=1∑bj=1[gcd(i,j)==d]\sum_{i=1}^a\sum_{j=1}^b[gcd(i,j)==d]。 bzoj2005:等价于求∑ai=1∑bj=1(2gcd(i,j)−1)\sum_{i=1}^a\sum_{j=1}^b \left( 2gcd(i,j)-原创 2015-04-21 19:53:48 · 1678 阅读 · 0 评论 -
【bzoj1101】Zap【神奇的∑】
传送门: http://server.mclscloud.com:5230/JudgeOnline/problem.php?id=1101 求∑ai=1∑bj=1[gcd(i,j)==d]\sum_{i=1}^a\sum_{j=1}^b[gcd(i,j)==d]. 设a≤ba \le b. 令a′=⌊ad⌋,b′=⌊bd⌋a'=\lfloor \frac ad \rfloor,b'=\lfl原创 2015-04-21 20:16:32 · 2026 阅读 · 0 评论 -
【bzoj3994】【SDOI2015】约数个数和【数论】【反演】
虽然题目上写了反演但是我不知道什么是反演……如果你把Sigma调换位置叫做反演的话。 这道题题面非常简单: 设d(x)d(x)为xx的约数个数,给定N、MN、M, 求∑i=1N∑j=1Md(ij)\sum_{i=1}^N\sum_{j=1}^Md(ij) 当时我too naive,看到这玩意就默默地打50分暴力去了。。。 今天江苏神犇们做了这道题,我顺便听明白了~~ 首先它不知用什么精妙原创 2015-04-21 20:59:14 · 5753 阅读 · 5 评论 -
【bzoj1978】【BeiJing2010】取数游戏 game【递推】
小 C 刚学了辗转相除法,正不亦乐乎,这小 P 又出来捣乱,给小 C 留了个 难题。 给 NN 个数,用 a1,a2,...,ana_1,a_2,...,a_n来表示。现在小 P 让小 C 依次取数,第一个数可以 随意取。假使目前取得 aja_j,下一个数取ak(k>j)a_k(k>j),则aka_k必须满足gcd(aj,ak)≥Lgcd(aj,ak)\ge L。 到底要取多少个数呢?自然是越多越好原创 2015-04-25 20:40:26 · 1946 阅读 · 0 评论 -
【bzoj4011】【hnoi2015】落忆枫音【精妙的动态规划】
我最近越来越感觉到我弱爆了。 今天下午全机房做hnoiD2,但是我只会敲暴力……第二题看着像点分治,可是我不会写~ 看来多做题确实是真理~ 这道题精妙极了! 引用一段PoPoQQQ大神的话: 由朱刘算法的推论可知,如果除根节点外每个点都选择一条入边,由于没有环,因此一定会形成一个树形图; 因此答案就是∏ni=2=2×degreei\prod_{i=2}^n=2\times\text{d原创 2015-04-26 20:50:22 · 2432 阅读 · 0 评论 -
【bzoj4028】【HEOI2015】公约数数列【分块暴力】
传送门http://www.lydsy.com/JudgeOnline/problem.php?id=4028 这题十分神奇…… 一开始我考虑线段树,后来又考虑分块。。 但是我死在了这么一个问题上: 知道每一块的GCD和XOR,那怎么查询? 相当于gcd(之前的GCD,这一块某处的前缀GCD)*(之前的XOR^这一块某处的XOR)=x。。。 然后我就爆炸了- - 据zzh和tdl等大神原创 2015-04-30 08:02:10 · 3044 阅读 · 7 评论 -
【bzoj4027】【HEOI2015】兔子与樱花【贪心】
昨天这三道题貌似比前天好做很多啊- - 但是为什么我第二题还是T呢T T 好吧说第一题。 第一题有个地方就是如果当前这个节点能被他的父亲吃掉而没被吃掉,那么他就再也不能被吃了。而如果他的父亲因为吃了他而不能被父亲的父亲吃,那也不亏。 那么贪心好了。 蒟蒻用了dfs。。。win下可能会爆栈。。。 把它的孩子按儿子数+樱花数排序,然后能吃就吃。。#include<cstdio>#inclu原创 2015-04-30 07:22:23 · 2058 阅读 · 0 评论 -
【bzoj1004】Cards【Polya计数定理】【递推】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1004 这是一道Polya好题~ 根据那个什么引理,本质不同的方案数等于每个置换下不同的方案数的平均值。 但是Polya定理是: l=1|G|∑f∈Gkm(f)l=\frac 1{|G|} \sum_{f \in G}{k^{m(f)}} 而这里是有三种颜色,求每个置换里每个循环涂同样原创 2015-03-22 20:48:02 · 958 阅读 · 0 评论 -
【bzoj1858】【Scoi2010】序列操作【位运算】【卡常大法好】
其实这道题用线段树神马的应该是可做的…… 但是鉴于我跪烂的位运算水平…… 我决定用位运算压常数水过去~~ (其实要是数据强的话我早就完了) 我一次又一次犯的,b错误耗费了我一下午的时间…… 这就是蒟蒻啊- - 一开始不知怎么回事,命令总是读不进去- - 然后发现~0U<<(r+1)有的时候不总是好用。 printf("%u\n",~0U<<32); int r=32;原创 2015-03-10 21:08:26 · 715 阅读 · 0 评论 -
【bzoj2005】能量采集【GCD】
为么很多这种题把∑\sum顺序换一下就得到答案了。。。 一个植物(坐标(x,y))到原点的路线上经过的植物数是gcd(x,y)(包括那个植物本身) ∑((gcd−1)∗2+1)=∑(gcd∗2−1)\sum\left((gcd-1)*2+1\right)=\sum(gcd*2-1) 因此把gcd∗2−1gcd*2-1的和求出来即可。 下面说一说如何快速求∑ai=1∑bj=1gcd(i,j)\原创 2015-04-21 20:44:49 · 1729 阅读 · 0 评论 -
【bzoj2693】jzptab【反演】
反演是不是就是拿莫比乌斯函数乱搞……如果我说错了请回复- - 倒数第三行d’变成了倒数第四行的dd’……真是精妙。 然后观察到d∑d′|dd′μ(d′)d\sum_{d'|d}d'\mu(d')是积性函数,线性筛出来即可。为么我碰到的积性函数都是这么筛的: i是质数,直接算; i%prime[j]==0,f[i*prime[j]]=f[i]*prime[j]; i%prime[j]!=原创 2015-04-26 10:43:33 · 1759 阅读 · 0 评论 -
【bzoj3196】二逼平衡树【树套树】【线段树】【平衡树】【呵呵】
……我承认我写change函数时确实213了- -a[pos]应当在最后被修改,可我却忘了……第一次交上去的时候爆了数组,WA了……然后把数组开大,交上去,MLE了……现在我证明长度为n的序列,他的平衡树节点数组只要开到(log(2,f(n))+1)*f(n)就绝对不会爆。f(n)是指比n大的最小的2的幂,比如f(65535)=65536,f(65537)=2^17.证原创 2015-02-17 16:31:11 · 826 阅读 · 0 评论 -
【bzoj1493】项链工厂【线段树】
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1493这题可以用线段树,不过要额外维护左端点颜色、右端点颜色,以及这条线段上颜色有几个“部分”。下传标记,当且仅当当前线段是纯色的时候(否则它下面一定有更晚染色的线段)。吐槽一下,我写pushdown的时候把数组名rc写成了lc......真是人民群众喜闻乐见。敬请指教,神原创 2015-02-15 19:08:11 · 652 阅读 · 0 评论 -
【bzoj1269】【AHOI2006】文本编辑器editor【Splay】
被文艺平衡树折磨了一天以后发现这道题就很好做啦~~~但是c++喜闻乐见的gets十分不好使。如果insert的字符串有空格,gets会跳过去不读空格。好在题目给了ASCII码的范围。这样就可做了。写的时候不要把功能一次性全写完,先写个基本的,排除一下低级错误……我把Move和insert写完以后发现Splay又出了几个沙茶错误- -还有居然把Next和Prev搞反了- -…原创 2015-03-02 14:13:21 · 704 阅读 · 0 评论 -
【bzoj2243】【sdoi2011】染色【树链剖分】
这题就一裸的树链剖分。。。 开个结构体data记录颜色段数,左右端点颜色,合并及下传标记和项链工厂一样。。 注意从下往上提的时候把左右端点颜色反过来(详见代码) 但是我还是犯了我曾经犯过的错误。。。 预处理建线段树的时候我居然在build过程里用了idx! 明明idx是树上节点到线段树节点的映射,不能这么用。。 于是我只好又写for(int i=1;i<=n;++i) A[idx[i]]原创 2015-03-15 14:17:02 · 562 阅读 · 0 评论 -
【bzoj2284】【SDOI2011】贪吃蛇【搜索】【位运算】【卡常大法好】
这道题真是太精妙了…… 传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=2284 首先这题棋盘的范围是15不是12。 本来原题是有special Judge的,因为要输出方案…… 但是这是oj嘛。。就输出最短时间好了- - 我一开始愚蠢的想法是xy各用一个char存,蛇长最多为8,就开个结构体数组,再开一个长度为4的记录事物的位置……原创 2015-03-09 16:29:56 · 1873 阅读 · 0 评论 -
【bzoj3223】文艺平衡树【Splay】【呵呵】
传送门:bzoj3223:文艺平衡树裸的区间翻转啦……本蒟蒻一开始就犯了一个致命的错误:按照splay节点里存的数来查找节点。YanBigGod说:应该查第k大。Orz。于是乎我查了第k大。交上去T了。原来是查第k大的时候卡死了。还好我写的非递归- -不然就爆栈了……但是我发现我又犯了错误:我原来写的是:inline int select(int原创 2015-03-01 14:53:55 · 696 阅读 · 0 评论 -
【bzoj1432】Function【结论题】
结论题的特点是:代码往往都很短…… 我先说一下答案:n=1的时候输出1,其余时候输出2*k,假如k>(n>>1)的话,令k=n-k+1(因为1和n-1是对称的)。 为什么呢…… 我们画一个图。 这是5条直线(函数)。可以看到,这些点以 A BC DEF GHIJ 的方式排列。 第一个部分只经过A(这样一定是最优的) 第二个部分只经过BAC 第三个部分只经过DBECF……原创 2015-03-12 20:01:37 · 960 阅读 · 0 评论 -
【bzoj1036】树的统计Count【树链剖分】【ZKW大法好】【卡常大法好】
关于这个树上路径端点会重合的问题,我们只要不判断x==y就行了。详见被注释呵呵的地方。#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn=30001;typedef int arr[maxn];typedef int arr1[maxn<<1];arr fa,top,原创 2015-03-12 11:43:27 · 854 阅读 · 0 评论 -
【bzoj3000】Big Number【数论】【Stirling公式】
题意:问你⌊logkn!⌋+1是多少(2≤n≤231,k≤200)。我一开始想:哦?我们可以用根号n的时间把n的素因子都找出来,然后根据阶乘的素因子分解式分别计算对数然后加起来…… 呵呵,WA了。 问题是,n的素因子确实可以在O(\sqrt n)的时间内分解出来,但是n!原创 2015-03-12 11:52:30 · 751 阅读 · 0 评论 -
【bzoj2527】Meteors【整体二分】
有n个国家和m个空间站,每个空间站都属于一个国家,一个国家可以有多个空间站,所有空间站按照顺序形成一个环,也就是说,m号空间站和1号空间站相邻。 现在,将会有k场流星雨降临,每一场流星雨都会给区间[li,ri]内的每个空间站带来ai单位的陨石,每个国家都有一个收集陨石的目标pi,即第i个国家需要收集pi单位的陨石。 询问:每个国家最早完成陨石收集目标是在第几场流星雨过后。 数据范围:1<=n,原创 2015-05-12 11:08:35 · 2481 阅读 · 0 评论