
BZOJ
文章平均质量分 59
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 3671 NOI2014 随机数生成器 贪心+暴力
题目大意:。。。。。有点长自己看吧首先既然是排序后的序列字典序最小,那么一定要选尽量小的数字走然后T是1~m*n的序列 所以不存在重复(一开始我居然把这个条件看漏了)好的这题贪心每次选择没有被标记的最小点,然后把左下方和右上方都标记掉(记得标记重复时break,不然就挂了)注意5000*5000的数组开两个int就是极限了 开多了妥妥MLE 所以T数组记得重复利用暴力跑了3原创 2014-09-01 15:40:11 · 2153 阅读 · 0 评论 -
BZOJ 3670 NOI2014 动物园 KMP算法
题意:给定一个长为L的字符串(L求Π(num[i]+1)%1000000007这就是KMP算法的一个变形。。。首先求出next数组,顺便求出cnt数组,代表长度为i的前缀经过几次fix=next[fix]会得到0,然后重新匹配一次,这次注意当fix*2>i的时候令fix=next[fix]即可这题有坑 切忌用num数组代替next此外勿忘开long long这题就水过去了。原创 2014-09-01 12:44:58 · 3111 阅读 · 0 评论 -
BZOJ 3668 NOI2014 起床困难综合症 贪心
题干一堆废话。。题目大意:给定n次操作(与,或,异或),在0~m中选择一个数,使这个数经过n次操作后得到的值最大丰年好大水 AC如土分如铁。。这尼玛根本就是水题好不 枚举选择数字的每一位 分三种情况讨论:1.该位取0时经过n次操作结果取1 这自然是最理想的情况 必须选择02.情况1不满足 该为取1时经过n次操作结果取1 且取1后值不超过m 这样我们也选择13.上两种情况不满原创 2014-09-01 09:25:49 · 4648 阅读 · 1 评论 -
BZOJ 3626 LCA 树链剖分
题目大意:给出一个n个节点的有根树(编号为0到n-1,根节点为0)。一个点的深度定义为这个节点到根的距离+1。设dep[i]表示点i的深度,LCA(i,j)表示i与j的最近公共祖先。有q次询问,每次询问给出l r z,求sigma_{l(即,求在[l,r]区间内的每个节点i与z的最近公共祖先的深度之和)这题看见了直接卡壳。。。然后看了题解才搞懂要怎么写原创 2014-08-25 17:19:59 · 3589 阅读 · 1 评论 -
BZOJ 2243 染色 树链剖分
题目大意:给定一棵树,树上的每个点有一个颜色原创 2014-08-23 16:06:47 · 1589 阅读 · 0 评论 -
BZOJ 3295 动态逆序对 CDQ分治
BZOJ 3295 动态逆序对 CDQ分治原创 2014-08-22 20:38:58 · 4464 阅读 · 0 评论 -
BZOJ 2049 洞穴勘测 Link-Cut-Tree(LCT)
警告 本篇文章作者已神志不清原创 2014-08-26 21:02:05 · 1901 阅读 · 0 评论 -
BZOJ 2002 弹飞绵羊 Link-Cut-Tree(LCT)
题目大意:某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostm原创 2014-08-26 16:20:49 · 2769 阅读 · 1 评论 -
BZOJ 1564 NOI2009 二叉查找树 动态规划
题目大意:给定一棵完全性质的treap,定义代价为每个点的访问频率*深度之和 我们可以花K的代价改变一些点的权值 求最小总代价改变后的权值不能相同 但是由于可以改成任意实数 而且代价与更改的大小无关 所以其实相同与否无所谓了首先键值是不能更改的 而一棵平衡树的中序遍历保证键值递增 故中序遍历一定 我们先按照键值排序得到中序遍历w很大 但是保证不重复 所以我们将w离散化然后就是DP的原创 2014-09-17 21:04:28 · 1983 阅读 · 0 评论 -
BZOJ 1858 SCOI2010 序列操作 线段树
题目大意:给定一个01序列,提供三种操作:0:把一段区间的所有元素都变成01:把一段区间的所有元素都变成12:把一段区间内的所有元素全都取反3:查询一段区间内1的个数4:查询一段区间内最长的一段连续的1首先如果没有操作4这就是bitset的水题。。。多了这个,我们考虑线段树线段树的每一个节点存修改标记和翻转标记,以及该区间的信息虽然查询的信息都是1 但是我们要连0一原创 2014-09-18 16:19:02 · 1829 阅读 · 0 评论 -
BZOJ 3631 JLOI2014 松鼠的新家 树链剖分/LCA
题目大意:给定一棵无根树和一个序列,在这个序列上依次遍历,求每个点的访问次数(最后一个点的访问次数要-1)树链剖分的裸题……考场上我还是一个弱渣,啥也不会,暴力得了50分,剩下两道题爆零了。。。而且30W深搜爆栈,人生第一次手写了系统栈。。回来因为这题的原因去学了树链剖分 结果没学明白 每条重链单独开了一棵线段树 常数大的要死高一时写的代码。。。还是别看了,拿去对拍可以,阅读性欠佳原创 2014-09-07 14:36:42 · 2807 阅读 · 2 评论 -
BZOJ 2705 SDOI2012 Longge的问题 因数分解+欧拉函数
题目大意:给定n,求Σgcd(i,n) (1n记fi为n的因数,则Σgcd(i,n)=Σphi(n/fi)*fi记住分解因数和分解质数时都要用O(√n)的方法 不然准T然后2^32-1不是质数 找质数验证的时候试试2147483647吧#include#include#include#include#define M 10010using namespace std;原创 2014-09-07 14:23:21 · 2042 阅读 · 0 评论 -
BZOJ2818 Gcd 素数筛+欧拉筛
题目描述:给定整数N,求1数对(x,y)有多少对.原创 2014-08-22 19:07:29 · 1851 阅读 · 1 评论 -
BZOJ 2763 JLOI2011 飞行路线 分层图+堆优化SPFA
题目大意:给定一个无向图,求源点到汇点的最短路,其中有k次机会把边权变为0非常水的分层图。。话说所谓分层图其实就是多一维的SPFA。。。还起了这么个高大上的名字这题裸SPFA过不去 要加堆优化 我的堆优化一定是写的有毛病 把heap[top--]=heap[0]改成top--就死活过不去 把魔法森林改一下测试了一下结果居然WA了总之贴代码#include#include#inc原创 2014-09-09 21:04:45 · 1648 阅读 · 0 评论 -
BZOJ 3627 JLOI2014 路径规划 分层图+堆优化SPFA JLOI2014全AC达成!
题目大意:给定一个无向图,每条边有边权,有些点有点权,一些点是加油站,求一条起点到终点的最短路,使经过有点权的点不超过k次,一管油只能走limit的时间,时间到了就只能到加油站花cost的时间加油那个红绿灯的计算公式是 red*red/2/(red+green) 考场上很多人没推出来这个挂掉了 我推出来不会写,写了爆搜,26分限制条件有点多。。。考虑到k首先我们枚举每一个加油站(起始点原创 2014-09-10 08:56:33 · 2079 阅读 · 0 评论 -
BZOJ 3628 JLOI2014 天天酷跑 记忆化搜索
题意:。。。给定一个矩阵,每个点有一堆金币,自己在(0,1),然后各种跳,求最大收益(具体自己看)传说中的省选第二题,当时写的爆搜20分,现在想想把深搜改成广搜再加个记忆化不就切了么。。。不过这题要开滚动数组 直接交MLE我自然溢出的队列居然写挂了。。。直接把h-1写在中括号里会强制类型转换成int导致调用q[-1] 所以只能这样了交的人好少。。这题也没啥意思 水水就切了注意这题无原创 2014-09-09 16:33:31 · 2445 阅读 · 0 评论 -
BZOJ 1492 货币兑换 Cash 平衡树维护凸包 CDQ分治
题目大意:这题真是为难了我1B。。。做了三天,两种方法都试过了一遍,真是膜拜NOI的神犇们能在一个多小时内干掉这道题首先这题一看就是斜率优化 连递推式都是P=A[i]*X[i]+B[i]*Y[i] 万事俱备 就是AB不单调!斜率不单调其实也好办 反正是凸包 平衡树维护不就简单了简单个熊啊!!!第一天下午开始写,第二天早上还在调,下午才AC,写了足足5原创 2014-08-27 18:46:08 · 4186 阅读 · 3 评论 -
BZOJ 1064 NOI2008 假面舞会 DFS
题目大意:给定n个人,分别戴着k类面具(k>=3,k未知),其中戴着i类面具的人能看见第i%k+1类人的面具,给定一些人互相看到的关系,求k的最大最小值题解见 http://www.cnblogs.com/proverbs/archive/2013/01/17/2865093.htmlDFS求环长度注意当图中不存在环时k的最大值为所有连通图中最长链的长度之和正边权值为+1 负边权值原创 2014-09-12 16:44:32 · 2038 阅读 · 0 评论 -
BZOJ 3629 JLOI2014 聪明的燕姿 约数和+DFS
题目大意:令f(x)=Σi (i|x) 给定n,求所有的x,使f(x)=n这题就是今年省选第二题,我没看到多组数据爆零了,不然妥妥30分。。。首先约数和公式令n=p1^a1*p2^a2*...*pk^ak则f(n)=(1+p1+p1^2+...+p1^a1)*(1+p2+p2^2+...+p2^a2)*...*(1+pk+pk^2+...+pk^ak)于是我们枚举质数p,采取D原创 2014-09-09 10:05:45 · 3592 阅读 · 7 评论 -
BZOJ 1501 NOI2005 智慧珠游戏 Dancing-Links(DLX)
题目大意:给定一个10*10的三角形棋盘和12种零件,每种零件只能放一次,可以旋转和翻转,一些零件已经放在了上面,求一种方案,使12个零件无重叠地放在棋盘上首先这题目一看就是DLX 但是建图真心恶心 需要枚举每一个零件的最多八个朝向的所有位置 我一开始想要全部代码处理 但是后来发现真做不了于是我选择了打表录入12个零件的所有60种朝向,选择第一排最左面的点作为基点,依次得出每个点关于基点的原创 2014-09-05 11:44:52 · 3807 阅读 · 4 评论 -
BZOJ 1008 HNOI2008 越狱 快速幂
题目大意:有三名越狱犯杀死狱警后穿警服逃狱,现已被警方全部抓获……啊呸呸呸呸呸,扯远了监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱m一看这数据范围就是logn嘛!于是我们来分析一下f[i]表示连续i个房间可能发生越狱的情况数当状态从f[i]转移到f[原创 2014-09-12 18:10:05 · 2165 阅读 · 0 评论 -
BZOJ 2241 SDOI2011 打地鼠 线性筛+二阶差分
首先声明:此题不满足二分条件,一切写二分的题解均为误解 请注意辨明!题目大意:给定一个m*n的洞穴矩阵,每个洞穴里面有若干地鼠,我们需要选定一个r*c的锤子进行击打,每次击打必须保证r*c的范围内所有洞穴均有地鼠,且每次击打只会打掉每个洞穴恰好一只地鼠,求最小击打次数m,n考虑一个1*8的洞穴,当我们把锤子设作1*4时可以完成击打,而1*3不能 故不满足单调性,二分不正确但是一个性原创 2014-09-06 16:05:45 · 2690 阅读 · 2 评论 -
BZOJ 1500 NOI2005 维修数列 Splay
我尽力了。。。从之前的递归版Splay变成非递归,然后各种删除冗余的操作,除了蛋疼的读入优化基本已经精简到底了,连传参都省了-0- 刚交上去是10956MS,差4MS就是BZOJ倒数第一,改完了是9244MS,快了一秒。。。单点测还是死活过不去,等加上读入优化再说吧题目大意:维护一个序列,支持六种操作:1.在某个数后面插入一些数字2.删除从某个数开始的一些数字3.把从某个数开始的一原创 2014-09-18 19:50:39 · 1866 阅读 · 0 评论 -
BZOJ 2329 HNOI2011 括号修复 Splay
ああああああああああああああ——散弾铳とテレキャスター 言叶の整列、アンハッピー 単身、都会の町并み 撃ち込んだ音、嫌いですか? 题目大意:给定一个括号序列,提供四种操作:1.将一段区间内的所有括号的变成'('或者')'2.将一段区间反转3.将一段区间内的所有括号翻转,即'('变成‘)',')'变成'('4.查询一段区间内要将至少多少个括号翻转才能变成一个合法的括号序列原创 2014-09-19 18:12:29 · 1947 阅读 · 0 评论 -
BZOJ 3196 二逼平衡树 树套树
题目大意:。。。BZOJ挂了自己看去好吧既然BZOJ挂了我还是贴上来吧0.0 破服务器维护一种数据结构,提供下列操作:1.查询k在区间内的排名2.查询区间内排名为k的值3.修改某一位值上的数值4.查询k在区间内的前驱(前驱定义为小于x,且最大的数)5.查询k在区间内的后继(后继定义为大于x,且最小的数)其实一开始觉得这题是划分树主席树之类的 然后去了解了一下发现原创 2014-09-23 16:52:43 · 2339 阅读 · 0 评论 -
BZOJ 1493 NOI2007 项链工厂 Splay
题目大意:维护一个环,每个点有一个颜色,提供6种操作:1.将这个环顺时针旋转k2.沿点1所在直径翻转3.将两个珠子互换4.将一段区间染色5.查询这个环上有多少颜色段6.查询一段区间有多少颜色段关于颜色段通用的处理方法是每个区间记录三个值,颜色段数、左端点颜色、右端点颜色,合并时颜色段数相加,如果左区间右端点和右区间左端点颜色相同则减一然后用Splay维护区间即可 不原创 2014-09-20 11:27:43 · 1990 阅读 · 1 评论 -
BZOJ 1502 NOI2005 月下柠檬树 Simpson自适应公式
题目大意:给定一棵由圆台和圆锥构成的柠檬树,月光以α的夹角平行射向地面,求阴影部分面积补充题目大意:看到这题我产生了心理阴影,求阴影部分面积题目不好分析,但其实就是求一堆圆和一堆梯形的面积交样例如图(画的有点烂),将顶点看做半径为0的圆,则图中圆的半径即为给定圆的半径,圆心距为h/tan(α),直线为两圆公切线这题我们采用辛普森自适应公式首先辛普森公式见度受百科 htt原创 2014-09-13 16:31:44 · 2826 阅读 · 0 评论 -
BZOJ 1012 JSOI2008 最大数maxnumber 单调栈+二分 / 线段树
题目大意:。。。自己看题目大意:。。。我还是说说吧 给定一个初始为空的序列 提供两种操作:1.查询序列后Q个数字中的最大值2.在序列尾部插入(n+t)%d,其中t是上一次查询的结果首先我们发现 如果一个数的右面有一个比他大的数,那么这个数永远不会成为最大值 他就会被弹掉说白了这题要维护一个单调递减的单调栈 对于每次查询我们二分查找L的位置即可这题线段树也能写 而且大多数人写原创 2014-09-12 20:24:29 · 1963 阅读 · 0 评论 -
BZOJ 1036 树的统计 Count 树链剖分
题目大意:一棵树上有n个节点,编号分别为1到n,每个节点都有一个权值w。我们将以下面的形式来要求你对这棵树完成一些操作: I. CHANGE u t : 把结点u的权值改为t II. QMAX u v: 询问从点u到点v的路径上的节点的最大权值 III. QSUM u v: 询问从点u到点v的路径上的节点的权值和 注意:从点u到点v的路径上的节点包括u和v本身n原创 2014-08-25 12:53:55 · 1274 阅读 · 0 评论 -
BZOJ 2875 NOI2012 随机数生成器 矩阵乘法
题目大意:令Xi+1=(a*Xi+c)%m,求Xn%g水题。。。我们令x矩阵为a 0c 1自乘n次,然后计算(aX0+c)%m%g即可此题要写快速乘 不然会挂 我这个沙茶居然把矩阵开成了int 早知道多磕点脑残片了#include#include#include#includeusing namespace std;typedef unsigned long lo原创 2014-09-15 17:52:41 · 1974 阅读 · 0 评论 -
BZOJ 2819 Nim 树链剖分/DFS序+LCA+树状数组
题意:给定一棵树,每个节点是一堆石子,给定两种操作:1.改变x号节点的石子数量2.用从x到y的路径上的所有堆石子玩一次Nim游戏,询问是否有必胜策略Nim游戏有必胜策略的充要条件是所有堆的石子数异或起来不为零这题首先一看就是树链剖分 然后题目很善良地告诉我们深搜会爆栈 于是我们可以选择广搜版的树链剖分BFS序从左到右是深搜,从右到左是回溯,一遍BFS就够单点修改区间查询还可原创 2014-09-02 09:30:06 · 2793 阅读 · 0 评论 -
BZOJ 3680 吊打XXX 模拟退火
首先这题应该改名叫吊打出题人题目大意:给定n个质点,求重心这n个质点的重心满足Σ(重心到点i的距离)*g[i]最小模拟退火的裸题尼玛交了两篇 死活过不去 各种改参数 最后发现是我的INF不够大 尼玛!这题INF开0x3f妥妥过不去。。。起码要max_of _long_long附近才可以最后写了10188MS,BZOJ倒数第一……这也是种艺术啊0.0#include#i原创 2014-09-16 20:17:43 · 4256 阅读 · 2 评论 -
BZOJ 1038 ZJOI2008 瞭望塔 模拟退火+二分答案
题目大意:给定一条折线,要求选择一个点建立高度为h的瞭望塔,要求瞭望塔塔顶可以看到折线上的每一个点,求h的最小值正解:半平面交不会!于是我们选择模拟退火来寻找瞭望塔的横坐标确定瞭望塔的高度的时候我们选择二分处理 对于二分的每一个值 我们把折线上的端点从左到右枚举 瞭望塔的塔尖到每个端点的连线必须从左到右逆时针顺序 否则就会被遮挡如图,塔尖到点2的连线在到点1的连线的顺时原创 2014-09-17 12:11:08 · 3715 阅读 · 3 评论 -
BZOJ 3262 陌上花开 CDQ分治
题目大意:给定一堆花,每个花有三个属性,定义一朵花比另一朵花美丽当期仅当三个值都大于等于另一朵花 定义花的评级为没有它美丽的花的数量 求评级为0~N-1的花的数量CDQ分治的题,之前在HZWER神犇的博客里见到过,就写了写,今天BZ活了想去交才发现原来是只有会员才知道的世界。。。还好学校的大神有BZ的会员,借号交了下,半天过不去,最后发现原来我CDQ分治写脑残了。。。。妈妈再也不用担心我的学习原创 2014-09-25 07:20:19 · 3501 阅读 · 0 评论 -
BZOJ 3282 Tree Link-Cut-Tree(LCT)
题目大意:给定N个点以及每个点的权值,要你处理接下来的M个操作。操作有4种。操作从0到3编号。点从1到N编号。0:后接两个整数(x,y),代表询问从x到y的路径上的点的权值的xor和。保证x到y是联通的。1:后接两个整数(x,y),代表连接x到y,若x到Y已经联通则无需连接。2:后接两个整数(x,y),代表删除边(x,y),不保证边(x,y)存在。3:后接两个整数(x,y),代原创 2014-09-28 17:23:00 · 1511 阅读 · 0 评论 -
BZOJ 2631 Tree Link-Cut-Tree(LCT)
题目大意:维护一棵树,提供四种操作:1.将x到y的路径上所有的点权值+z2.将x1到y1的边断开,然后将x2和y2链接,数据保证链接后仍然是棵树3.将x到y的路径上所有的点权值*z4.询问x到y路径上节点的权值和对51061取模我就复制粘贴算了为何要重新打一遍Link-Cut-Tree第一道功能比较全的题,比较水,水个*啊,很久以前就写完了,由于BZ挂了一直没交上去,今天交原创 2014-09-25 20:53:44 · 2048 阅读 · 0 评论 -
BZOJ 1798 AHOI2009 Seq 维护序列 线段树
题目大意:维护一个序列,提供三种操作:1.将区间中每一个点的权值乘上一个数2.将区间中每一个点的权值加上一个数3.求一段区间的和对p取模的值2631的超^n级弱化版,写2631之前可以拿这个练练手。。。线段树区间修改,让学校的大神指导了一下ZKW的区间修改方法,很好理解,但是代码还是快不了。。。回头再改改代码吧 可能是我写的太渣了#include#include#inc原创 2014-09-28 12:57:02 · 1779 阅读 · 0 评论 -
BZOJ 2821 作诗(Poetize) 分块
题目大意:给定一个序列 多次求区间中多少个数出现次数为偶数次 强制在线很神的一道分块的题……记得刚进BZ坑的时候看到这道题50秒特别惊奇0.0 然后我就作死去交了个死循环0.0看了很多题解 都没看懂 最后还是把零碎的思想硬拼到一起才写完0.0我们首先分块 然后预处理一些东西首先是从第i块到第j块的答案 这个我们从第i块第一个点开始向右扫 开一个数组记录每个数的出现次数 扫到一个数就原创 2014-10-22 10:14:06 · 2466 阅读 · 0 评论 -
BZOJ 2844 albus就是要第一个出场 高斯消元
题目大意:给定一个n个数的集合S和一个数x,求x在S的2^n个子集从大到小的异或和序列中最早出现的位置有学长真好不用自己打题目大意了233首先我们求出线性基 我们会得到一些从大到小排列的数和一堆0 记录0的个数不考虑0,看前面的数,由于线性基的性质,我们直接贪心从大到小枚举 若当前异或和异或这个值小于Q则取这个数 (注意^不要写成+或者| 本蒟蒻已经因为这个WA了两道题了然后我们通原创 2014-10-06 16:14:38 · 2790 阅读 · 11 评论 -
BZOJ 3175 Tjoi2013 攻击装置 二分图最大匹配
题目大意:给定一个n*n的网格图,要在0的位置上放置一些攻击装置,其中一个攻击装置的攻击范围是周围8个“日”字形区域,要求不能互相攻击,求最多放置多少个攻击装置每两个能互相攻击且能放置的点连一条双向边,然后跑二分图最大点独立集即可4W个点n^2居然没TLE 是数据太弱还是匈牙利算法太强了?#include#include#include#include#define M 210原创 2014-11-07 11:22:03 · 1929 阅读 · 0 评论