stl
olahiuj
我的女朋友不抽烟不喝酒不傲娇不化妆不存在
展开
-
bzoj2208 [Jsoi2010]连通数 强连通分量缩点+拓扑排序+bitset
Description对于100%的数据,N不超过2000。Solution容易想到要tarjan缩点按拓扑序递推,但是去重的步骤不好弄 C++STL中有bitset,用这个当成二进制按位状压即可一开始错是没有给每个连通分量标记自己包含的点,这样就只算了相同连通分量的贡献。奈何拍的数据太弱,浪费了1hCode#include #include原创 2018-01-07 21:35:39 · 379 阅读 · 0 评论 -
bzoj5085 最大 二分+bitset
Description给你一个n×m的矩形,要你找一个子矩形,价值为左上角左下角右上角右下角这四个数的最小值,要你最大化矩形的价值。第一行两个数n,m,接下来n行每行m个数,用来描述矩形n, m ≤ 1000Solution题目的意思是1*1的矩阵不算子矩阵。。最小值最大嘛,二分答案嘛。我们把>=mid的位置记为1,<=mid的位置记为0,显然我们要找到一个矩形四个顶...原创 2018-10-26 14:42:12 · 171 阅读 · 0 评论 -
bzoj4165 矩阵 堆
Description定义和谐矩阵为长不小于 Mina 且宽不小于 Minb 的矩阵,矩阵的权值为整个矩阵内所有数的和。给定一个长为 N,宽为 M 的矩阵 A,求它的所有和谐子矩阵中权值第 K 小的矩阵,并输出它的权值。Input第 1 行为五个正整数,分别为 N , M , Mina , Minb , K,相邻两个数用一个空格分隔。接下来的 N 行,每行 M个用一个空格分隔的数,表示...原创 2018-10-24 16:36:18 · 445 阅读 · 0 评论 -
jzoj5947 初音未来
DescriptionHercier作为一位喜爱Hatsune Miku的OIer,痛下决心,将Vocaloid买回了家。打开之后,你发现界面是一个长为n的序列,代表音调,并形成了全排列。你看不懂日语,经过多次尝试,你只会用一个按钮:将一段区间按升序排序。不理解音乐的Hercier决定写一个脚本,进行m次操作,每次对一段区间进行操作。可惜Hercier不会写脚本,他找到了在机房里的你,请你模拟...原创 2018-11-02 20:16:21 · 342 阅读 · 0 评论 -
bzoj4484 [Jsoi2015]最小表示 拓扑排序+bitset
Description对于一个N个点(每个点从1到N编号),M条边的有向图,JYY发现,如果从图中删去一些边,那么原图的连通性会发生改变;而也有一些边,删去之后图的连通性并不会发生改变。JYY想知道,如果想要使得原图任意两点的连通性保持不变,我们最多能删掉多少条边呢?为了简化一下大家的工作量,这次JYY保证他给定的有向图一定是一个有向无环图(JYY:大家经过去年的问题,都知道对于给任意有向...原创 2018-11-22 21:36:03 · 145 阅读 · 0 评论 -
bzoj2117 [2010国家集训队]Crash的旅游计划 动态树分治+二分
Description给定一棵带边权的树,求与x第k近的距离,n<=1e5Solution之前碰见过。。当时还不会做的有一道弱化版的n才1.5e4,可以考虑离线然后区间加、区间第k大,卡一卡说不定能过(滑稽对于求第k大的问题我们经常考虑二分答案变成判定性问题。建出点分树后每个点开两个vector分别记录到x子树内的点到x的所有距离,x子树内点到fa[x]的所有距离。我们把vec...原创 2018-12-21 21:50:33 · 233 阅读 · 0 评论 -
bzoj4919 [Lydsy1706月赛]大根堆 multiset+启发式合并
Description给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点。每个点有一个权值v_i。你需要将这棵树转化成一个大根堆。确切地说,你需要选择尽可能多的节点,满足大根堆的性质:对于任意两个点i,j,如果i在树上是j的祖先,那么v_i>v_j。请计算可选的最多的点数,注意这些点不必形成这棵树的一个连通子树。第一行包含一个正整数n(1<=n<=20000...原创 2019-02-24 22:00:43 · 328 阅读 · 0 评论 -
bzoj4771 七彩树 可持久化线段树+set
Description给定一棵n个点的有根树,编号依次为1到n,其中1号点是根节点。每个节点都被染上了某一种颜色,其中第i个节点的颜色为c[i]。如果c[i]=c[j],那么我们认为点i和点j拥有相同的颜色。定义depth[i]为i节点与根节点的距离,为了方便起见,你可以认为树上相邻的两个点之间的距离为1。站在这棵色彩斑斓的树前面,你将面临m个问题。每个问题包含两个整数x和d,表示询问x...原创 2019-03-07 08:46:23 · 233 阅读 · 0 评论 -
bzoj5084 hashit 广义SAM+树链的并
Description你有一个字符串S,一开始为空串,要求支持两种操作在S后面加入字母C删除S最后一个字母问每次操作后S有多少个两两不同的连续子串Solution似乎暴力也能过的样子一个显然的做法就是建后缀平衡树,但是好像有点难写啊考虑离线,给出的串刚好就是一棵Trie,我们按照Trie建广义SAM之后模拟就可以了具体说就是每次都在处理Trie上的一条链,答案就是这些点在pa...原创 2019-03-25 21:41:18 · 291 阅读 · 0 评论 -
jzoj6086 动态半平面交 可持久化线段树+set
Description给定一棵n个节点带点权的树,要求资瓷q次询问格式为(x,d),即求出x子树内距离x不超过d的点的点权的lcm,对998244353取模n≤105,  ai≤107n\le10^5,\; a_i\le10^7n≤105,ai≤107Solution之前做过序列上的离线做法,上树就有点懵了很常见的套路吧,没想到有点可惜先不管那个深度...原创 2019-03-27 16:30:28 · 229 阅读 · 0 评论 -
AtCoder Grand Contest 016E Poor Turkeys bitset+乱搞
Description有n个火鸡和m个人,m个人按次序吃鸡(雾。第i个人会按照一下策略吃鸡如果x[i]和y[i]都活着,就等概率选一个吃掉如果有一个活着,就吃掉活着的否则就啥也不做问能选出多少对鸡,它们同时活下来的概率不为0Solution一开始想着要建图啥的。。考虑倒着做,我们记S[t,i]表示做到第t个人,第i只鸡要活下来至少还需要有哪些其它鸡活下来然后我们大力讨论一...原创 2019-03-27 19:46:12 · 169 阅读 · 0 评论 -
cf1063B Labyrinth BFS+双端队列
DescriptionYou are playing some computer game. One of its levels puts you in a maze consisting of n lines, each of which contains m m m cells. Each cell either is free or is occupied by an obstacle....原创 2018-10-15 22:12:45 · 262 阅读 · 0 评论 -
noi.ac #47 power set
#Description小D梦见了一棵包含n个节点的树,这棵树包含着神秘的能量。具体来讲,对于这棵树中的一个联通块,它的能量为它拥有的节点中编号连续的最长的一段。举例来说,如果一个连通块包含了原树中编号为{1,3,4,5,7,8}的节点,那么编号连续的最长的一段为{3,4,5}。它所具有的能量值为3。小D想要从这棵树中获得能量,但由于种种原因,小D只能从这棵树中选取一个节点数不大于k的连通块并...原创 2018-09-22 19:53:22 · 335 阅读 · 0 评论 -
bzoj2124 等差子序列 线段树+哈希
Description给一个1到N的排列{Ai},询问是否存在1<=p1<p2<p3<p4<p5<…<pLen<=N (Len>=3),使得Ap1,Ap2,Ap3,…ApLen是一个等差序列。输入的第一行包含一个整数T,表示组数。下接T组数据,每组第一行一个整数N,每组第二行为一个1到N的排列,数字两两之间用空格隔开。N<=1...原创 2018-10-12 13:55:58 · 205 阅读 · 0 评论 -
bzoj1293 [SCOI2009]生日礼物 set暴力
Description小西有一条很长的彩带,彩带上挂着各式各样的彩珠。已知彩珠有N个,分为K种。简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置)。某些坐标上可以没有彩珠,但多个彩珠也可以出现在同一个位置上。 小布生日快到了,于是小西打算剪一段彩带送给小布。为了让礼物彩带足够漂亮,小西希望这一段彩带中能包含所有种类的彩珠。同时,为了方便,小西希望这段彩带尽可能短,你能帮助原创 2018-01-16 19:29:57 · 207 阅读 · 0 评论 -
bzoj3357 [Usaco2004]等差数列 dp+map
Description约翰发现奶牛经常排成等差数列的号码.他看到五头牛排成这样的序号:“1,4,3,5,7” 很容易看出“1,3,5,7”是等差数列. 给出N(1≤N≤2000)数字AI..AN(O≤Ai≤10^9),找出最长的等差数列,输出长度.Solution容易想到dp,dp的时候注意到决定等差数列的是任意两数的差和首项,那么设f[i][a[j]]表示当前原创 2018-01-08 11:25:08 · 200 阅读 · 0 评论 -
jzoj3775 [NOIP2014模拟8.15]因子的排列
Description一天,小B学习了分解质因数的相关内容。他发现,一个数的质因子可以有许多不同的排列方式,例如20=2*2*5=2*5*2=5*2*2,那么小B认为20的质因子有3种不同的排列方式。小B的同学现在有一个问题:如果一个整数的质因子的不同的排列方式的种类数为k,那么这个整数n(n>1)最小是多少?小B的同学一共有T个不同的k值,希望小B帮助这个同学解决问题。但是小B发现T太大原创 2018-02-02 20:13:53 · 399 阅读 · 0 评论 -
jzoj5512 送你一棵圣诞树 树状数组套线段树+set
Description一棵 n 个点的树, 树根为 1. 一开始每个点上有一个 1…n 的颜色 ci, 不同点颜色可以相同. 现在有 q 次操作, 分为两种类型: • 1 u l r: 询问子树 u 中有多少种在 l 到 r 之间的颜色至少出现了一次 • 2 u c: 将 u 的颜色修改为 c对于前 20% 的数据, n, q ≤ 5000; 对于前 40% 的数据,原创 2018-01-10 21:34:32 · 412 阅读 · 0 评论 -
bzoj1923 [Sdoi2010]外星千足虫 高斯消元
Description对于 20%的数据,满足 N=M≤20; 对于 40%的数据,满足 N=M≤500; 对于 70%的数据,满足 N≤500,M≤1,000; 对于 100%的数据,满足 N≤1,000,M≤2,000。 Solution高斯消元,了解一下异或方程组可以用bitset搞Code#include #include #inc原创 2018-01-20 09:52:00 · 224 阅读 · 0 评论 -
bzoj4236 JOIOJI 乱搞
DescriptionJOIOJI桑是JOI君的叔叔。“JOIOJI”这个名字是由“J、O、I”三个字母各两个构成的。 最近,JOIOJI桑有了一个孩子。JOIOJI桑想让自己孩子的名字和自己一样由“J、O、I”三个字母构成,并且想让“J、O、I”三个字母的出现次数恰好相同。 JOIOJI桑家有一份祖传的卷轴,上面写着一首长诗,长度为N,由“J、O、I”三个字母组成。JOIOJIさん想...原创 2018-05-19 11:31:02 · 257 阅读 · 0 评论 -
bzoj4777 [Usaco2017 Open]Switch Grass MST+线段树+multiset
Description给定一张带权无向图,每个点有一个颜色,每次改变一个点的颜色,要求你在操作后输出这个图中最近异色点对之间的距离 最近异色点对定义为:一对点颜色不同,且距离最小Solution容易想到答案一定在最小生成树上,并且只可能是最小生成树上的某一条边 那么可以对每个节点以颜色为下标建线段树,线段树的叶子节点用multiset记录节点所代表颜色出现的距离,再用一个全...原创 2018-05-19 23:56:01 · 401 阅读 · 0 评论 -
bzoj4896 [Thu Summer Camp2016]补退选 字典树+vector
DescriptionX是T大的一名老师,每年他都要教授许多学生基础的C++知识。在T大,每个学生在每学期的开学前都需要选课,每 次选课一共分为三个阶段:预选,正选,补退选;其中”补退选”阶段最忙碌。在补退选阶段,学生即可以选课,也 可以退课。对于X老师来说,在补退选阶段可能发生以下两种事件: 1:一个姓名为S的学生选了他的课(姓名S将出现在X的已选课学生名单中) 2:一个姓名为S...原创 2018-05-16 20:33:35 · 186 阅读 · 0 评论 -
bzoj5404 party 树链剖分+bitset
Description Solution我好弱啊,第一档分都没拿到手orz首先看清题意,这是一个有向图 一个朴素的想法就是我们倍增记录rec[i,j]表示i向上2^k层后包含节点颜色的bitset,m只有1k 注意到这样非常慢,考虑轻重链剖分的做法。我们记录rec[i]为i到链顶节点包含颜色的bitset,对于不满一整条链的我们用线段树查询,这样可以做到一个log...原创 2018-08-16 19:52:50 · 176 阅读 · 0 评论 -
bzoj3991 [SDOI2015]寻宝游戏 set
#Description小B最近正在玩一个寻宝游戏,这个游戏的地图中有N个村庄和N-1条道路,并且任何两个村庄之间有且仅有一条路径可达。游戏开始时,玩家可以任意选择一个村庄,瞬间转移到这个村庄,然后可以任意在地图的道路上行走,若走到某个村庄中有宝物,则视为找到该村庄内的宝物,直到找到所有宝物并返回到最初转移到的村庄为止。小B希望评测一下这个游戏的难度,因此他需要知道玩家找到所有宝物需要行走的最短...原创 2018-09-22 16:25:16 · 256 阅读 · 0 评论 -
AtCoder Regular Contest 098 题解
C - Attentionsb题,我们前缀后缀和一下直接O(N)算贡献就可以了#include <stdio.h>#include <string.h>#include <algorithm>#define rep(i,st,ed) for (int i=st;i<=ed;++i)const int INF=0x3f3f3f3f;con...原创 2019-04-22 21:58:08 · 794 阅读 · 0 评论