Processing math: 100%

07 2018 档案

摘要:题意 维护一个01串,一开始全部都是0 3种操作 1.把一个区间都变为1 2.把一个区间都变为0 3.把一个区间的所有数字翻转过来 每次操作完成之后询问区间最小的0的位置 l,r<=10^18 题解 区间操作想到线段树,离散化不用说,l,r太大了。 1,2,3操作非常好维护。 然后在查询中二分查询就 阅读全文
posted @ 2018-07-31 19:26 Xu-daxia 阅读(620) 评论(0) 推荐(0) 编辑
摘要:题意 给出n个物品,体积为w[i],现把其分成若干组,要求每组总体积<=W,问最小分组。(n<=18) 题解 一看以为是弱智题。(可能真的是,我太菜了) 然后跟walthou夸下海口:这么简单我做出来给你讲。 结果就被打脸了(对waithou说:我不会,自己看题解吧) 然后我就看了题解。。 设dp[ 阅读全文
posted @ 2018-07-31 16:07 Xu-daxia 阅读(270) 评论(0) 推荐(0) 编辑
摘要:题意 有n个点,q个询问,每次询问有一种操作。操作1:u→[l,r](即u到l,l+1,l+2,...,r距离均为w)的距离为w;操作2:[l,r]→u的距离为w;操作3:u到v的距离为w;求起点到其他点的最短距离,到达不了输出-1。 题解 线段树骚操作,线段树优化建图。 其实提到可以这么操作后,实 阅读全文
posted @ 2018-07-30 21:49 Xu-daxia 阅读(479) 评论(0) 推荐(0) 编辑
摘要:题意 不带修改区间第k小。(n<=100000) 题解 建立线段数和vector数组(vector为当前区间排列之后的序列)(归并) 然后对于每一个询问二分答案。 问题就转化为区间有多少数小于等于二分值。 对于我们每一个遍历的区间(线段数的节点)。 若与询问区间不相交return0。 若完全包含于询 阅读全文
posted @ 2018-07-30 20:27 Xu-daxia 阅读(297) 评论(0) 推荐(0) 编辑
摘要:题意 给定一棵树和若干条路线,每条路线相当于树上 x,y 之间的路径,途径路径上的每个点 给出若干个询问,每次询问从 u 到 v 至少需要利用几条路线 N,M,Q≤200000 题解 构建倍增数组g[i][j]表示从i点向上经过j条线路能到达的深度最小的点。 所以对于每一对询问的x,y,我们贪心地把 阅读全文
posted @ 2018-07-30 17:41 Xu-daxia 阅读(782) 评论(0) 推荐(0) 编辑
摘要:题意 平面上,一个圆,圆的边上按顺时针放着n个点。现在要连m条边,比如a,b,那么a到b可以从圆的内部连接,也可以从圆的外部连接。给你的信息中,每个点最多只会连接的一条边。问能不能连接这m条边,使这些边都不相交。(n<=1000,m<=500) 题解 我们把一条边在圆里和圆外作为a和!a,当两条边一 阅读全文
posted @ 2018-07-29 21:34 Xu-daxia 阅读(148) 评论(0) 推荐(0) 编辑
摘要:题意 已知 N 座塔的坐标,N≤5000 把它们分成两组,使得同组内的两座塔的曼哈顿距离最大值最小 在此前提下求出有多少种分组方案 mod 109+7 题解 二分答案 mid 曼哈顿距离 >mid 的点连边 判定是否构成二分图 方案数为 2^最终的二分图连通块数目 1 #include<iostre 阅读全文
posted @ 2018-07-29 17:05 Xu-daxia 阅读(370) 评论(0) 推荐(0) 编辑
摘要:题意 在一张有向图中,设 ri 为从点 i 出发能够到达的点的数量。 定义有向图的“改良值”为 ri 的最小值。 现给出一张无向图,要求给每条边定一个方向,使产生的有向图“改良值”最大。 输出 最大改良值和边的方向。 n,m≤400000 题解 对于无向图的每个“边双连通分量”,一定存在一种定向方法 阅读全文
posted @ 2018-07-29 16:53 Xu-daxia 阅读(437) 评论(0) 推荐(0) 编辑
摘要:题意 有 n 个信息中心,第 i 个信息中心要在第 ti 个小时维护,维护期间信息不能被获得。 每个用户的数据都有两份备份,第 i 个用户的数据放在信息中心 c(i,1) 和 c(i,2)。 现在要挑选一个尽量小的信息中心集合,使得将这个集合的维护时间推迟一个小时后,仍然能保证每个用户的数据在任意时 阅读全文
posted @ 2018-07-29 16:41 Xu-daxia 阅读(493) 评论(0) 推荐(0) 编辑
摘要:题意 给定一个 n∗n 的矩阵 A,每个元素都非负判断是否存在一个整数 k 使得 A^k 的所有元素 >0 n≤2000(矩阵中[i][i]保证为1) 题解 考虑矩阵AA的意义 ,设得到的矩阵为B矩阵中的一个元素B[i][j]=nk=1A[i][k]A[k][j],$ 阅读全文
posted @ 2018-07-29 16:34 Xu-daxia 阅读(471) 评论(0) 推荐(0) 编辑
摘要:题意 最少添加多少条边,使无向图有欧拉回路。 n,m≤106 题解 求出每个点的度数 奇度数点需要连一条新边 仅有偶度数点的连通块需要连两条新边 答案为上面统计的新边数 / 2 注意:此题默认以1为起点,有重边自环。 1 #include<iostream> 2 #include<cstdio> 3 阅读全文
posted @ 2018-07-29 16:24 Xu-daxia 阅读(200) 评论(0) 推荐(0) 编辑
摘要:题意 给出数轴上的n个区间[ai,bi],每个区间都是连续的int区间。 现在要在数轴上任意取一堆元素,构成一个元素集合V 要求每个区间[ai,bi]和元素集合V的交集至少有ci不同的元素 求集合V最小的元素个数。 题解 一眼望去差分约束。所以开始找约束条件。 设sum[i]为[1,i]闭区间的元素 阅读全文
posted @ 2018-07-29 16:16 Xu-daxia 阅读(170) 评论(0) 推荐(0) 编辑
摘要:题意 给定一棵树,从时刻 0 开始,有若干人从 S[i] 出发向 T[i] 移动,每单位时刻移动一条边 对于树上每个点 x,求 w[x] 时刻有多少人恰好路过 x N,M≤300000 题解 从上午11点做到下午3点45终于做出来了。 一开始坚持自己的想法,发现错了之后不知道怎么改,无奈看了题解。 阅读全文
posted @ 2018-07-29 15:53 Xu-daxia 阅读(149) 评论(0) 推荐(0) 编辑
摘要:题目描述 很久很久以前,有一个仙女叫做A。有一天一个少年B找到她,并且请求她预测他的未来。仙女看着她的水晶球,说这位少年不久将遇见世界上最美丽的公主,并且将迎娶她为妻。然后仙女在一张纸上画了n个点,并把它们分为几个板块,每个板块以一些点为始,另一些点为终。画完这幅画,仙女要求少年擦掉之上的一个板块。 阅读全文
posted @ 2018-07-29 09:57 Xu-daxia 阅读(187) 评论(0) 推荐(0) 编辑
摘要:题意 给出两个互质的数a,b问最大的不能被xa+yb(x,y>=0)表示的数。(a,b<=109) 题解 NOIPday1T1一道数论题,不知埋葬了多少人的梦想。 用同余类去解释。 我们依旧用数组来表示最小的模a等于下标的数。答案为这些数中最大的数-a。 设这些数中最大的数为x,在此之前其他的模数全 阅读全文
posted @ 2018-07-28 20:03 Xu-daxia 阅读(207) 评论(0) 推荐(0) 编辑
摘要:题意 有一部电梯,最初停在1层。 电梯有4个按键,上升a,b,c层,回到一层。 求从一层出发。能到达1~h的哪些楼层。 (h<=1018,a,b,c<=105) 题解 这种h能大的图论,一眼就知道是同余类。 以模a[1]的余数为下标建立数组,数组的意义是模a[1]为下标的最小的能到达的值。 显然之后 阅读全文
posted @ 2018-07-28 19:47 Xu-daxia 阅读(241) 评论(0) 推荐(0) 编辑
摘要:题意 题意是给你一张 NMNMNM 的图,每个点有黑色和白色,初始全为白色,每次可以把一个相同颜色的连续区域染色,求最少的染色次数;(n,m<=50) 题解 转化为最短路。对于每一个点与它相邻的相同颜色的点连权值为0的边,对于颜色不同的点连权值为1的点。从每一个点跑单源最短路,把到W点的距离和到B点 阅读全文
posted @ 2018-07-28 19:38 Xu-daxia 阅读(283) 评论(0) 推荐(0) 编辑
摘要:题意 哇,太长了。 题解 显然,树的直径不唯一但一定相交并且各个·直径的中点汇聚于同一处。 进一步得到一个推论,任意一个直径上求出的偏心距都相等。 原题中(n<=100)我们发现n的范围有点小。直接上暴力。 floyed预处理一下。找到树的直径。 暴力枚举树网的核再暴力枚举偏心距(至于具体怎么枚举看 阅读全文
posted @ 2018-07-28 12:01 Xu-daxia 阅读(233) 评论(0) 推荐(0) 编辑
摘要:题意 裸的仙人掌直径。 题解 先考虑基环树的直径:先算出每颗“树”的直径,再在环上跑DP 再考虑仙人掌的直径:把每个基环树缩成一条边,边长为基环树深度。 1 #include<iostream> 2 #include<cstdio> 3 #include<algorithm> 4 #include< 阅读全文
posted @ 2018-07-28 10:33 Xu-daxia 阅读(378) 评论(0) 推荐(0) 编辑
摘要:题目大意 给出若干颗树用最少的边把它们连成一个无向连通图,同时使图的直径最小。输出最小直径。 题解 我们定义树的半径为(树的直径+1)/2。符合题意的连接方式为。所有树的“中点”连在直径最长的树的中点上。 此时在判断最长直径即可。注意:有三种情况可以使直径最长。 1 #include<iostrea 阅读全文
posted @ 2018-07-28 10:19 Xu-daxia 阅读(404) 评论(0) 推荐(0) 编辑
摘要:1 #include<stdio.h> 2 bool ex[4194304],v[4194304]; 3 int a[4194305],n,al; 4 void dfs(int x){ 5 if(v[x])return; 6 v[x]=1; 7 if(ex[x])dfs(al^x); 8 for(i 阅读全文
posted @ 2018-07-28 10:06 Xu-daxia 阅读(182) 评论(0) 推荐(0) 编辑
摘要:题目描述 一些公司将在Byteland举办商品交易会(or博览会?)。在Byteland有 nnn 个城市,城市间有 mmm 条双向道路。当然,城镇之间两两连通。 Byteland生产的货物有 kkk 种类型,每个城镇只生产一种。 为了举办商品交易会,你必须至少带来 sss 种不同类型的商品。将货物 阅读全文
posted @ 2018-07-28 09:31 Xu-daxia 阅读(203) 评论(0) 推荐(0) 编辑
摘要:题目描述 RAMESS知道很多关于树的问题(无循环的无向连通图)! 他创建了一个新的有用的树的划分,但他不知道如何构造它,所以他请求你的帮助! 划分是从树上的边中分裂出一些简单的路径,使得每个两条路径都具有至少一个公共顶点。树的每一个边都应该在一条路径上。 帮助RAMESs,找到这样的树的划分,或判 阅读全文
posted @ 2018-07-28 09:18 Xu-daxia 阅读(1741) 评论(0) 推荐(0) 编辑
摘要:题解 用一个矩阵来表示一个图的边的存在性,即矩阵C【i,j】=1表示有一条从i到j的有向边C【i,j】=0表示没有从i到j的边。这个矩阵的k次方后C【i,j】就表示有多少条从i到j恰好经过k条边的路径。 在此题中我们赋予边权值并把矩阵乘法中的+改为min这样这个矩阵的k次方后C【i,j】就表示从i到 阅读全文
posted @ 2018-07-28 09:03 Xu-daxia 阅读(378) 评论(0) 推荐(0) 编辑
摘要:单调队列 求长度为M的区间内的最大(小)值 单调队列的基本操作,也就是经典的滑动窗口问题。 求长度为M的区间内最大值和最小值的最大差值 两个单调队列,求出长度为M的区间最大最小值的数组,分别求最大最小值。 求边长为a的正方形内最大值和最小值的最大差值([HAOI2007]理想的正方形) 一个大体的思 阅读全文
posted @ 2018-07-25 08:40 Xu-daxia 阅读(226) 评论(0) 推荐(0) 编辑
摘要:题目贼长 大意是你有n个线段,每一秒你要拿出来最长的一个线段切成两段长度为[p*u](向下取整)和u-[p*u]两段(其中u是线段长,p是一个大于0小于1的实数)没被切的线段长度加q(0<q<200)。问m秒后的n+m条线段的长度(1≤n≤100000,1<=m<=7000000) 题解 乍一看是堆 阅读全文
posted @ 2018-07-22 17:31 Xu-daxia 阅读(187) 评论(0) 推荐(0) 编辑
摘要:题意 给出第一象限的n个点,有m次询问,每次询问一个矩形中的点的个数.(0<=n,m<=500000,0<=xi,yi<=10000000) 题解 一眼望去不可做。 用二位前缀和的思想,一个矩形可以用以坐标轴为一对临边的四个矩形加减得到。 考虑离线,离散化。所以我们要求的只是若干个以坐标轴为一对临边 阅读全文
posted @ 2018-07-22 17:11 Xu-daxia 阅读(221) 评论(0) 推荐(0) 编辑
摘要:题目描述 Caima王国中有一个奇怪的监狱,这个监狱一共有P个牢房,这些牢房一字排开,第i个紧挨着第i+1个(最后一个除外)。现在正好牢房是满的。 上级下发了一个释放名单,要求每天释放名单上的一个人。这可把看守们吓得不轻,因为看守们知道,现在牢房中的P个人,可以相互之间传话。如果某个人离开了,那么原 阅读全文
posted @ 2018-07-17 10:28 Xu-daxia 阅读(271) 评论(0) 推荐(0) 编辑
摘要:1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<algorithm> 5 #include<cstdio> 6 using namespace std; 7 const int N=500100; 8 in 阅读全文
posted @ 2018-07-13 19:17 Xu-daxia 阅读(166) 评论(0) 推荐(0) 编辑
摘要:1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<algorithm> 5 #include<cmath> 6 using namespace std; 7 const int N=200020; 8 int 阅读全文
posted @ 2018-07-13 16:57 Xu-daxia 阅读(231) 评论(0) 推荐(0) 编辑
摘要:1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<algorithm> 5 #include<cmath> 6 using namespace std; 7 const int N=101000; 8 int 阅读全文
posted @ 2018-07-13 08:51 Xu-daxia 阅读(200) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示