- 博客(34)
- 收藏
- 关注
原创 好的博文记录
这篇博文用来推荐一些别人写的好的博客博文(侵删)莫比乌斯反演: http://blog.csdn.net/acdreamers/article/details/8542292FFT: http://www.gatevin.moe/acm/fft%E7%AE%97%E6%B3%95%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/FWT: http://www.chanm
2016-10-20 16:42:57 354
原创 codeforces题目分类
多写写cf上的题吧。 以前写的题都没记录,从今天开始记录吧。 记录一下写过的题的做法和分类吧。388A(贪心) 388B(一个不错的构造题,二进制构造)
2016-09-07 15:01:11 5365 1
原创 2017招新笔试题解
题意的锅我背稳了。 1、第一题大部分人都做出来了,A = 24,答案是1300 2、第二题的话。可能我表述有一点不清楚。一些其实是可以是全部的。我们分析一下,如果初始的和就是奇数,那么翼神全取完晗神就不能操作了。如果初始的和是偶数,那么如果一个奇数都没有,翼神无法操作,就GG了。如果有奇数,那么一定是偶数个奇数的,那么翼神一定可以取走所有的偶数和奇数个奇数,取剩一个奇数。这个时候,晗神就GG了。
2017-09-21 23:21:01 695
原创 hdu6200 mustedge mustedge mustedge
这个题好像链剖会T。然后后来学习了一下姿势。 见https://post.icpc-camp.org/d/724-hdoj-6200-mustedge-mustedge-mustedge/6然后我就实现了一下叉姐说的。一开始addedge那边写炸了。然后一直T,后来冷静了一下发现有问题。然后求lca由于内存的原因,我现在一般都用链剖了。#include <cstdio>#include <ios
2017-09-14 15:54:57 624
原创 HDU6202 Cube Cube Cube
模拟题。大概就是问你一个魔方三步之内能不能还原。 是个金字塔魔方。比赛的时候写了个300行的wa了,以为是旋转写错了,检查了半天,结果后来发现是dfs写傻逼了。好难过啊。后来想了想写了个100行的。这个魔方有24个操作。分别是8个面顺逆,四个中间顺逆。 发现逆时针就是顺时针转两下。还有中间顺就是一个边上的面顺转一次,另外一个逆转一次。然后对于每个面,四周的序列也很有规律。仔细一点就可以过了。#i
2017-09-11 15:55:49 620
原创 9.2日记
快要区域赛了,每天总结一下自己干的事情。昨天晚上打了一场CF,发挥中规中矩,上橙还需要努力。今天上午先是研究了一下div1c,发现是个线段树套树状数组。学习了一波姿势。下午补了一下16大连站的B,C,E,KB是一个用位操作优化的字符串匹配,感觉就是暴力除以bitset优化的常数。C是个高精,然后发现直接BigDecimal不能通过,看了别人发现需要优化一下这个根号5的值,要二分一下。练习了一下jav
2017-09-02 23:49:42 277
原创 数论笔记
记录一些学到的数论知识。d(u,v)=∑g|(u,v)u(g)d(ug)d(vg)d(u,v) = \sum_{g|(u,v)}u(g)d(\frac{u}{g})d(\frac{v}{g})
2017-08-31 21:01:39 206
原创 计算几何练习
开一篇文章记录一下计算几何的做题记录。NEERC 2010 J 半平面交,翻了翻大白,竟然是例题。 先二分,然后求半平面交。#include <cstdio>#include <cstring>#include <algorithm>#include <iostream>#include <vector>#include <queue>#include <deque>#includ
2017-08-29 12:57:39 268
原创 字符串练习
快要区域赛了,恶补ing。 先复习一下学习过的字符串知识吧。 由于本人是弱渣,先来几个板子题磨练一下板子。先来复习一下模式匹配的知识,写两个ac自动机。HDU2222 Keywords Search 给多个模板串,进行匹配。 模板题。沿着trie树走,然后要沿着fail边跳,来统计。POJ 2776 给一些禁止的串,然后问长度为n的没有禁止的串的串的个数。 在禁止的串构成的ac自动机上
2017-08-27 20:29:52 328
原创 splay小记
学习了一下splay。splay主要就是干线段树干的活,外加区间翻转,插入删除,还有分裂合并。建树 就是普通的建成二叉树,为了方便以后的区间操作,会在两边建两个辅助的点。int build(int l,int r,int y) // [l,r],父亲是y{ if(l > r) return 0; int mid = (l + r) / 2; int x = insert(
2017-08-06 20:19:19 248
原创 北京站小记
北京站小记11.11-11.13 三个人参加了2016年acm-icpc 北京站的比赛,简单记录一下。(既然被吐槽杳无音讯~)Day0早上7点就出发去火车站了(结果又因为堵车差点来不及,每次都要这么极限吗--,感觉老爸以前带我早早地到,慢悠悠地等车真是太好了),慢慢的动车龟速(这年头不是G打头的车还真是慢啊,一想到回去竟然要坐普快就忧桑)驶向北京,下午三点多终于到了(乘
2016-11-14 12:21:16 862
原创 PKU Campus 2016
记录一下昨天做pku campus 2016的过程吧(赛后查了查,也没有题解,于是乎将自己写的题的想法留下来,希望对大家有些帮助)。比赛链接:http://poj.openjudge.cn/campus2016/A题: 签到题。#include<cstdio>#include<iostream>using namespace std;long long T;double ansm,ri;
2016-11-07 20:02:14 1313
原创 hihocoder挑战赛20小记
2016.11.4 晚上六点点开了一场看上去通过人数比较多的hihoround(20),virtual participate了一下。感觉这场还是比较友好的,和我以前做的hihoround只能做一题,或者爆零不一样。在两个小时里写了3个题(A,B,C),D看上去像是个经典问题,但从来没写过(几何基本等于残疾),便直接放弃了。这场是岛娘出的,我还以为是ta朋友出的。 感觉题挺不错。题解写的也不错。
2016-11-04 20:40:51 429
原创 51nod1769(dirichlet convolution)
这个题与上次那个题类似,也是个狄雷克卷积的。 但是这题k很大,不能用快速幂了,那我们就要充分考虑 multiplicative function的性质。具体的过程51nod上面给了很清楚了,主要是给出线性筛部分的代码(这个也是借鉴别人的,侵删)。还有要开读入挂。#include <iostream>#include <cstdio>#include <algorithm>#include
2016-10-25 22:43:47 416
原创 hdu5628(Dirichlet convolution)
以前打的某一场bestcoder的题,不会,今天学习了一下狄雷克卷积(好像没有想象的辣么难,可能写的是模版题)回头写一写。 Dirichletconvolution代码(复杂度O(nlgn))\ Dirichlet convolution 代码(复杂度 O(nlgn)) const int maxn = 10005;int f[maxn],g[maxn],h[maxn];for(int i = 1
2016-10-20 18:45:54 428
原创 CF514C(hash)
似乎对于取值比较少的情况,用多项式插值(第一次见)会比较准确,不容易撞,比如这个题,只有三种取值。题目链接:http://codeforces.com/contest/514/problem/C代码:#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#include <set>using nam
2016-10-13 11:21:26 401
原创 CF 512C
这是一个很有意思的题。首先我们可以经过一番探索发现这是一个二分图,然后发现就是希望将每个点的度数限制为2,发现匹配无法完成这个事之后,想到可以使用网络流,问题就解决了。代码:#include<cstdio>#include<cstring>#include<queue>#include<vector>#include<algorithm>#include <iostream>using
2016-10-12 13:54:15 472
原创 hdu5923(并查集维护联通块)
前一篇博文说这题t了,今天看了一下别人的写法发现有个地方复杂度确实常数有点大。对magic tree上的每个点维护它到根的点的集合(并且是原图的生成树,这样点集的大小是O(n)的),这样的话之后询问的时候每个点考虑的点数就少了很多。 另外在dfs预处理的时候要充分运用父亲的状态,重新并一遍就会tle。#include <cstdio>#include <cstring>#include <al
2016-10-08 16:44:56 1305 1
原创 十一的题
记录一下十一中间的比赛啊,补的一些题,学习的一些新算法(胡言乱语)fwt(快速沃尔什变换): 讲得不错的博客: http://www.chanmefang.com/index.php/2015/11/11/fwt/ https://apps.topcoder.com/wiki/display/tc/SRM+518 简(zhi)单(hui)看(tao)了(mo)看(ban) 推荐两个题 b
2016-10-08 13:27:45 527
原创 招新笔试题解
简单的写一下题解吧。 额,先容我吐槽一下大家13,14题的评价,大多都很中肯,确实有一些错别字(没人帮我校对额,我平时也要上课,真的很抱歉啦,这篇题解有错别字也望海涵),还有有很同情翼神的(额,好吧,好像黑得确实有点猛了,但是还是很开心啊,哈哈),反正看这两题真的挺好玩的,额,教导我要文艺的同学(接受你的建议,尽量有空会看点书)。1、这是一个简单的教导大家方案数和概率不等价的题,因为不同方案的概率
2016-09-20 23:12:57 1054 2
原创 51nod1667(容斥)
这是一道很好的容斥原理题。 首先这里推荐两道类似的题,spojRNG(1667是它的离散版本),还有bzoj3129(两题容斥部分很类似)我们首先把第一类区间分为(-INF,L - 1] 与 (-INF,R],把第二类区间分为[L,INF) 与 [R + 1,INF) 那么我们简单写写,把前面的值设为a - x,后面的值设为 b + y。 那么甲胜要求的就是∑i(a−x)>∑j(b+y) \s
2016-09-15 13:08:24 445
原创 hdu5875(取模的性质,线段树,二分)
题目链接解法: 首先经过一段时间的思考后我们可以发现一个数取模只会受到小于等于它的模数的影响,而且取模的次数大概是log级别的,因为取一次至少减半,所以我们可以有一个简单的想法,就是找到这个数右边第一个小于等于它的数进行取模。然后我们用较为暴力的方法,二分加线段树,过去了。(我写的T了,好像常数太大,队友的过了,学习了一发姿势,二分嵌在线段树里写)。还要注意是两个端点都相等的时候进行操作,不是包含
2016-09-10 20:34:54 443
原创 hdu5877(dfs序,树状数组,2016年大连站网络赛1010)
题目链接题目大意: 给一棵有根树,让你求这样的(u,v)满足 1)u是v的祖先 2)a[u] * a[v] <= k 两个条件。 求pair的数量。题目解析: 首先我们可以很快的yy出要用dfs序,把树展成链,因为这是节点与子树中的节点的关系的问题,再想出对于一个节点u,那么只要找到[pre[u]+1,suf[u]−1][pre[u] + 1,suf[u] - 1] 中小于等于k/a[u
2016-09-10 20:05:05 311
原创 CSU1805(BEST theorem,定理题)
题目链接matrix-tree theorem介绍Best theorem题目大意:求一个只有三个点的无向图从1出发经过所有边一次回到1的不同路径树。分析:先膜一下叉姐,叉姐说代码20行,我硬是改了半天写了60行。(果真弱渣) 首先可以看出,如果把每条边标上方向,那么形成的有向图的答案就是1的度数乘欧拉回路的条数。 其中欧拉回路的条数用Best theorem算,等于以1为根的树形图的个数乘每个
2016-09-05 18:09:45 1092
原创 树链剖分学习笔记
时常有一些在树上的问题,朴素的想法时间复杂度很大,于是我们常常会想能不能用什么数据结构把复杂度降下来,但是树的结构又很特殊,所以没有什么好的想法,而树链剖分就是一种很好的手段。总的来讲树链剖分就是将一棵树剖成许多条链,然后连起来,用数据结构处理的过程,其中要记一些对应关系,方便处理。首先要处理出重边,所谓重边就是一个节点所有子节点中子树的点数最大的哪个节点与本节点的边。而不是这样的边,就称为轻边。这
2016-09-02 09:38:24 333
原创 hdu5116(dp + 计数)
题目链接解题报告: 这是一个计数的问题,分析一下后可以发现,答案就等于合法的集合数的平方减去有相交的组合的个数。 可以先处理出几个关键数组 dp[i][j]=一条边为i,另一条边的范围是1~j,有多少个合法的L形Ndp[i][j] = 一条边为i,另一条边的范围是1~j,有多少个合法的L形 N cnt[i][j]=以(i,j)为拐点的合法的L型的数量Ncnt[i][j] = 以(i,j)为拐
2016-09-01 21:00:58 448
原创 UOJ241(递推+矩阵快速幂)
题目链接:UOJ241先吐槽一下UOJ,额,注册了没做看题就要算参加的,可能是实在比较难参加的人比较少吧,傻傻地一场掉回解放前。这是UR16的A题。一句话题意:长度为n的环,每个点染色,有m种颜色,要求相邻相对不能同色,求方案数。(定义两个点相对为去掉这两个点后环能被分成相同大小的两段)思路: 如果n是奇数,就转化为了一个比较简单的递推,可以像题解中那样开两维,也可以直接写,如果第n-1个和第1个
2016-08-29 11:11:48 509
原创 hdu5452(lca + 树上的操作)
题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5452解法:首先思路肯定是要枚举树上删掉的一条边,然后就转化为求树上分开的两块之间连的其它边的条数。我们看非树边(u,v),如果删除的边在lca(u,v)和u,v之间,那么这条边就会起到贡献,为1,如果删除的边在u,v的子树下,则没有起到贡献,同理如果删除的边在lca(u,v)上面的话,也不会
2016-08-26 10:55:34 474
原创 2015年长春现场赛(hdu5527-hdu5539)
今天和队友尝试了一下这场比赛,记录一下吧,分析的题是过的或者赛后看题解尝试的。F题:应该是个水题,队友写的,现场赛的时候好像一开始都写这个。 L题:也是个水题,主要读题仔细看看样例就知道了。 G题:一个计算几何,求一下凸包之后判一下边长相等就可以了。 J题:额,同学说学长说暴力都能过,试了一下果然是,正解应该是写个字典树吧,这类题碰的也挺多的吧。 H题:一眼看上去是dp,但是只会n^3的,队
2016-08-23 20:52:57 789
原创 hdu5866(cf494c,dp)
题目链接:多校第十场1010。 http://acm.split.hdu.edu.cn/showproblem.php?pid=5866 原题是cf494C http://codeforces.com/contest/494/problem/C 参考了一下cf的tutorial和viethoho的代码。题目大意:有n个点构成了一棵树,每个节点都有一个权值,然后树上有m个操作,作用于m个不同的
2016-08-19 14:13:54 702
原创 BC Round#86 D(dp,设置序)
感觉这是一道很不错的dp呢,比赛的时候想了许久也没做出来,然后一开始过了七八十人后来好多人都被hack(因为都是用暴力水),最后只过了22个,所以可见这道题有较大的思维难度额。上题:在Byteland一共有n个城市,编号依次为1到n,同时有m条单向道路连接着这些城市,其中第ii条道路的起点为ui,终点为vi(这里有个关键条件,就是每条路都是起点比终点小,这样就不会出现环了,而且后面也不需要用topo
2016-08-07 09:48:34 689
原创 2016年多校第5场
简单记录一下多校第5场的情况吧,先贴一下赛中的情况,赛后写的题以后再更新吧。就按照过题的顺序吧(可能只是一个比赛过程的记录,便不会细讲思路)。上来先看了前几个题的题意,感觉这场题意表述还是很清楚的(稍后就被打脸)。先看有人过了第三题,就去看第三题了,结果觉得是个贪心水题。题目链接:http://acm.hdu.edu.cn/contests/contest_showproblem.php?cid=7
2016-08-04 11:03:35 428
原创 51nod1070(博弈,有趣的结论)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1070 题意: 有一堆石子共有N个。A B两个人轮流拿,A先拿。每次拿的数量最少1个,最多不超过对手上一次拿的数量的2倍(A第1次拿时要求不能全拿走)。拿到最后1颗石子的人获胜。假设A B都非常聪明,拿石子的过程中不会出现失误。给出N,问最后谁能赢得比赛。 例如N =
2016-08-02 09:29:20 597
原创 51nod1714(简单的博弈,SG函数)
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1714上51nod突然发现很久以前有个题没有过,发现是博弈,要求SG函数,但是抓耳挠腮也没想出来怎么在时限里求,于是看了看解题报告,说是用一种不算暴力的暴力,还是不懂,还去问了q巨(q巨对我说直接暴力,跑的飞快),我跑了一下,几秒钟没跑出来就又怯生生地去问q巨,q巨说一分钟不
2016-08-01 21:38:42 486
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人