自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 洛谷1036F Relatively Prime Powers(构造)(二分)

题意定义一个数x合法为x无法表示成a^k(k!=1)。给出T个询问,求小于n内不合法的数的个数。特性不合法的数一定是一个数的几次方,即如果所有的a^k的数。题解构造+二分不妨构造出所有的a^k的数,但是这些数整容太庞大了。我们考虑去掉所有a^2的数,这样规模就控制在了可行范围内。最后的时候减掉n之内a^2的数就可以了,这些数有sqrt(n)个。提醒一句,注意精度的问题...

2018-10-31 14:00:08 448 2

原创 洛谷1662 数7(打表)(模拟)

题目1337个人排成一个圈,从1号人开始报数,初始方向是1,2,3…。如果某个人报的数是7的倍数或数字中含有7,那么报数的方向就反一下。问报数字X的是哪个人?题解间接打表没想到打表也成正解了hhh。能全打没问题,间接打是一个新方法。因为10^8以内可以轻松解决,只要把10^9的那个给压缩成10^8级别就好了。那么可以考虑打出k*10^8的表。对于x,从0暴力求到x%1e8,初始状...

2018-10-30 13:50:40 587

原创 洛谷1613 跑路(倍增)(floyd)

题目小A的工作不仅繁琐,更有苛刻的规定,要求小A每天早上在6:00之前到达公司,否则这个月工资清零。可是小A偏偏又有赖床的坏毛病。于是为了保住自己的工资,小A买了一个十分牛B的空间跑路器,每秒钟可以跑2^k千米(k是任意自然数)。当然,这个机器是用longint存的,所以总跑路长度不能超过maxlongint千米。小A的家到公司的路可以看做一个有向图,小A家为点1,公司为点n,每条边长度均为一...

2018-10-30 13:44:07 312

原创 3180 [HAOI2016]地图(tarjan)(dfs序)(分块)(莫队)

题目洛谷3180 HAOI2016地图题解tarjan+dfs序+分块+莫队首先用tarjan求出所有的环根,做个dfs,就可以统计出每个节点在不挑剔的情况下的值了。其实我并不懂怎么是怎么实现的最后可以做到x~x+son[x]-1(dfs序)都是在封路后可以到达的节点。接下来用dfs序,可以把树给展开,方便统计子树的情况。再接着就用莫队来控制区间,用分块来求出小于一定值的点有多少...

2018-10-30 13:36:12 370 1

原创 BSGS和exBSGS—详解

问题Ax≡B(mod  C)A^x \equiv B (\mod C)Ax≡B(modC),求最小的x或输出无解。先给出一个定理:An≡Anmod &T

2018-10-29 21:35:40 788

原创 洛谷4648 [IOI2007] pairs 动物对数(曼哈顿转切比雪夫)(扫描线+树状数组)(前缀和)

题目洛谷4648 [IOI2007] pairs 动物对数范围与提示一维:M 最大是 75000000二维:M 最大是 75000三维:M 最大是 75题解要分情况讨论啊!一维双指针随便搞,一个指头,没个头找个最大尾,计入答案。二维曼哈顿转切比雪夫+扫描线+树状数组很容易想到一个点能看到的点呈一个45°斜角的正方形,这太难处理了。转成切比雪夫距离就变成了...

2018-10-29 13:53:07 482

原创 洛谷3964 [TJOI2013]松鼠聚会(切比雪夫转曼哈顿)

题意求一个点,到所有点的切比雪夫距离之和最小。题解切比雪夫转曼哈顿+前缀和显然切比雪夫不便于求和,因为它是一个max套在最外层,如果转为曼哈顿的形式就成了加加减减的问题了。回忆一下转换公式:(x,y)->((x+y)/2,(x-y)/2)答案是,关键是去绝对值符号,也就是。y同理。不妨分开x和y来处理,把x和y分别排序,然后统计一波前缀和sx,sy。枚举一个点(x0,y...

2018-10-29 13:28:50 268

原创 曼哈顿距离 与 切比雪夫—简介和应用

定义两点(x1,y1),(x2,y2)的曼哈顿距离定义两点(x1,y1),(x2,y2)的切比雪夫距离切比雪夫与曼哈顿距离可以互相转化。一个点曼哈顿距离中的点,用切比雪夫距离计算时用。一个点切比雪夫距离中的点,用曼哈顿距离计算时用。这有什么用呢?在坐标系中画出来,可以发现距离(0,0)曼哈顿距离为1的点呈一个菱形(其实是正方形旋转135°(45°)),切比雪夫距离为1的呈正方形。...

2018-10-29 13:14:14 1580

原创 洛谷3682 [CERC2016]自由的套娃 Free Figurines(思维题)

题目俄罗斯套娃是一些尺寸递增的木制雕像,它们可以嵌套在一起。每个套娃可以放进一个更大的套娃,也可以被放入一个更小的套娃。每个套娃内部最多只能直接嵌套一个套娃,但是那个套娃内部还可以继续嵌套。给定n个尺寸互不相同的套娃,按尺寸从小到大依次编号为1到n。如果套娃a被直接嵌入套娃b,那么我们称b是a的父亲,如果一个套娃没有父亲,那么我们称它是自由的。一组镶嵌方案可以用每个套娃的父亲来表示。我们...

2018-10-29 12:53:52 413

原创 洛谷2999 [USACO10NOV]巧克力牛奶Chocolate Milk (必经点)

题意给定一棵有向树,求有向树的必经点。题解1一种对于所有有向图都是用的方法,求出从S到x的方案数f[x],和从T到x的方案数g[x]。对于一个点如果有f[x]*g[x]=f[T],那么x是必经点,对于必经边的求法也提一下,同上求出f[x]和g[x],一条边(x,y)如果有f[x]*g[x]=f[T],则这条边是必经边。实际上f和g是相当大的数字,我们可以采用取模的方案来存,如果你喜...

2018-10-28 15:49:19 811

原创 Kruskal重构树—简介与基本应用

Kruskal重构树就是在做kruskal是把边权改成点权,一个n个点的图可以生成2*n-1个点的kruskal重构树。一篇很棒的博客https://blog.csdn.net/hwzzyr/article/details/81190442构造维护一个并查集。把图上的边按边权值递增排序,每次取出最小的边,用并查集判断其两端的点是否已相连。如果是,那么直接略过这条边;否则,建一个新点r,点...

2018-10-28 15:32:21 450

原创 洛谷2312 解方程(数论)

题目洛谷2312 解方程引理秦九韶算法:一个n次多项式的计算可以通过逆乘法分配律转为只有n次加法+n次乘法的计算。百科走起题解数论有人用高精度吗?好东西呀!在有上面的引理后,我们可以O(N)判定i是否为方程的解,这样枚举个i差不多就过了。如何判断和是否为0呢?直接、暴力的想法就是高精计算,但这样会T的。我们可以考虑用模,这样就避免了爆long long。但是这样容易出现玄...

2018-10-28 12:49:12 236

原创 快速乘—O(1)与O(log N)比较

如果两个int相乘取模,相乘时可能会爆int,这时我们采用高一级的long long来计算。如果两个long long相乘取模,要用更高一级容纳位数更多的手写高精度来计算。为了简便,人们发明了许多方法,我们称处理long long相乘取模的算法为“快速乘”。快速乘一般有两种方法,一种是短小精悍的O(1)算法,一种是精准无误的O(log N)算法。O(1)算法先满足大家的好奇心,O(1)...

2018-10-28 10:30:03 903

原创 洛谷4187 [USACO18JAN]Stamp Painting(DP)

题目洛谷4187 [USACO18JAN]Stamp Painting特性一个合法的最终状态应该至少有一块长度为k。题解DP根据特性,可以转化题意。但是仍然不好求。不好求,怎么办?那把AK跟他干,干不过,怎么办?认(mo)怂(ti)把(jie)不妨反过来想,用总状态数-不合法状态数=合法状态数总状态=n^m不合法状态可以递推,设f[i]表示前i的长度中长度小于k的方案...

2018-10-27 10:01:47 268

原创 洛谷4374 [USACO18OPEN]Disruption(树链剖分)|(LCA+并查集)

题目洛谷4374 [USACO18OPEN]Disruption题解1:在线树链剖分+线段树维护最小值一条新路(x,y,c)影响的是树上(x,y)间的所有路径,要取min,很容易想到用线段树维护。题解2:离线排序+并查集可以把所有新路递增排序,所以前面更新过的路后面一定不会再更新。暴力的话就是把(x,lca)和(y,lca)的路径全部走一遍。一种巧妙的方法是用并查集做路径...

2018-10-27 09:32:14 273

原创 洛谷1527 [国家集训队]矩阵乘法 Accepted(整体二分)(树状数组)

题目给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数。题解整体二分+树状数组求第k小的数我怎么就没想到整体二分呢!还是挺裸的,把所有元素记录下位置一并放入中b队列中,询问也是。因为是二维的,所以树状数组也要升级成二维的,s[x][y]表示(1,1)-(x,y)这个矩阵中小于等于mid的数的个数,酱紫就可以判断一个询问要取到bl还是br了。代码#in...

2018-10-27 09:18:33 176

原创 树上方案数统计—总结

例题1题意(洛谷4084 [USACO17DEC]Barn Painting)给定一颗N个节点组成的树,3种颜色,其中K个节点已染色,要求任意两相邻节点颜色不同,求合法染色方案数。题解树形计数类DP简单粗暴的,设f[x][t]表示将x染色为t时,x这棵子树的方案数。那么就有,初始化f[x][t]=1,特别的,当x已被染色为t时,f[x][k]=0(k!=t)。答案为...

2018-10-27 09:06:04 508

原创 洛谷3523 [POI2011]DYN-Dynamite(二分)(贪心)(树形DP)

题意在一棵形如树的图上有一些炸药点,在树上任意选择一些点为点火点,使得最晚爆炸的炸药最早(即炸药点到点火点的最大距离最小)。特性对于一个时间,显然刚好在这个时间到头时爆炸是最优的。题解二分+贪心+树形DP题意转化一下,用一些点,扩张最小的长度覆盖最小的关键点。看到最大值最小首先想到二分(其原因我是今天才明白,最大值可以无限变大,一定有一个最小点,小于这个点的解不合法,大于这...

2018-10-27 07:06:11 265

原创 洛谷3480 [POI2009]KAM-Pebbles(阶梯NIM)

题意有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数。两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏。问先手是否必胜。题解阶梯NIM对于这类游戏,必胜者的策略是:只要你把x颗石子从偶数层拿到奇数层,那我就把这x颗石子拿到偶数层。那么,奇数层的石子就是废的了,只需要考虑偶数层的石子,也就是说玩一个仅由偶数...

2018-10-26 22:09:24 205

原创 洛谷SP2885 WORDRING - Word Rings(0/1分数规划)(SPFA)

题目洛谷SP2885 WORDRING - Word Rings题解0/1分数规划+spfa判正环先套0/1分数规划的公式:再一变接下来就是一个判正环的问题了。如果有正环则上式>=0,即L有更大取值;否则L无法达到这么优。提一下建边,真的要做一个什么KMP,AC/后缀自动机,还是马拉车?都是乱来!这样想,它说的是后两个字符,所以不妨直接用两个字符表示点的编号...

2018-10-26 21:54:59 429

原创 线段树—永久化标记优化

标记永久化介绍诞生正常的线段树的改段求段都离不开lazy标记,lazy标记维护时要及时的更新,即人们熟知的pushdown函数。那么能不能避免这么多次无意义的pushdown操作呢?他就是——标记永久化。原理举个最简单的例子,线段树区间修改,求区间最大值。这时的lazy存的是当前这一段待下传的最大值,也就是说这个lazy最终会更新到这个线段的所有子线段。既然是他们共有的一个最大...

2018-10-26 21:40:53 1684

原创 bzoj2503 相框(思维题)(并查集)

题目bzoj2503 相框特性如果原图是一个连通图,并且为欧拉回路,那么把所有点熔开即可。其实上面这句话是废话一个多条边(>2)连接的点一定要熔。一个奇数条边相连的点一定是熔完后要接的。题解乱搞+并查集其实上面的几条边相连都可以用“度”来表达。所以得到一个乱搞算法:1、每有一个多度点,ans++;2、每有一个奇度点,cnt++。对于那些自由边,另开一个点给它...

2018-10-25 13:33:31 537

原创 loj10121 与众不同(ST算法)(二分)

题目A 是某公司的 CEO,每个月都会有员工把公司的盈利数据送给 A,A 是个与众不同的怪人,A 不注重盈利还是亏本,而是喜欢研究「完美序列」:一段连续的序列满足序列中的数互不相同。A 想知道区间 [L,R] 之间最长的完美序列长度。尝试一开始想的是用权值线段树,这样只要满足min[l,r]=1那么这段就是合法的。又想了想让每个合法区间对提问更新,并不太可行。题解ST表+二...

2018-10-25 13:02:22 1587

原创 洛谷1970 花匠(DP)

题意找一个高低循环的最长XX序列。题解DP设f[i]表示以i为结尾的最长XX序列,其中i在高位。设g[i]表示以i为结尾的最长XX序列,其中i在低位。这两个可以相互转移,即f[i]=max_{i>j,a[i]>a[j]}{g[j]}+1,同样g也有一个转移方程。接下来用树状数组维护一下max就可以得到50分了。如何优化呢?更改一下定义:设f[i]表示前i个数...

2018-10-23 13:30:47 172

原创 洛谷3001 [USACO10DEC]巨无霸(spfa)

题目洛谷3001 [USACO10DEC]巨无霸题解spfad[y]=min{ d[x]*e[k].c }这题的坑点是有“小于1环”,所以不但不能用dijkstra,还要加一个判“小于1环”。还卡了精度,要用long double,long double的输入输出用%Lf。代码#include<cstdio>#include<cstring>...

2018-10-23 13:21:17 220

原创 洛谷3940 分组(贪心)(并查集)

题目把n个数按顺序分成若干组。定义矛盾为两个数的和为一个完全平方数。K=1时,不允许组内存在矛盾。K=2时,把小组分成两个团体,每个团体内不存在矛盾。特性很贪心的一个题。因为要求分组位置尽量靠前,所以从后往前贪心,每次使当前区间尽量长。题解K=1模拟这个很暴力,直接判断i能否加入当前区间即可。题解K=2并查集有点像关押罪犯那题,两个矛盾的尽量分放两边,这个就可以...

2018-10-23 13:19:11 336

原创 bzoj 3249 [ioi2013]game(线段树)(伸展树)

题目Bazza 和 Shazza 正在玩游戏。游戏在一个 R 行 C 列的网格上进行。其中, R 行 编号为 0, …, R - 1 , C 列编号为 0, …, C - 1 。我们用 (P, Q) 表示位于 P 行 Q 列的单 元格。每个单元格包含一个非负整数,游戏开始时所有单元格内的整数均为零。 游戏如下进行:任意时刻,Bazza 可以做如下动作之一: 修改一个单元格 (p, q)...

2018-10-19 13:37:10 364

原创 洛谷1967 货车运输(最大生成树)(LCA)

题目A国有n 座城市,编号从 1 到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。题解最大生成树+lca求最小边权有这么多条边,但每次都只会走那几条边权最大的边,其实,就是一棵最大生成树嘛。把树找到后,设d[x][i]表示从x到f[x][i]中的最小边权,d[...

2018-10-19 07:00:52 358

原创 洛谷2187 小Z的笔记(DP)

题目由于没有好好听课,小Z的笔记全都记的杂乱无章,出现了好多错误的地方。小Z的笔记是如此的糟糕,以至于他只记了一句例句,而且自己还不知道是什么意思……然后在老师讲语法的时候,小Z又零星的记了几个字母对,老师说,这几个字母对是绝对不能相邻的,而且相邻是不关心字母的顺序的,比如老师说,“ab”不能相邻,那么相同的,“ba”也不能相邻。现在小Z到家了,打开了上课的笔记,然后他发现笔记有很多自相矛盾...

2018-10-18 14:40:37 212

原创 洛谷1315 观光公交(贪心)

题目风景迷人的小城Y市,拥有n个美丽的景点。由于慕名而来的游客越来越多,Y市特意安排了一辆观光公交车,为游客提供更便捷的交通服务。观光公交车在第0分钟出现在1号景点,随后依次前往2、3、4……n号景点。从第i号景点开到第i+1号景点需要Di分钟。任意时刻,公交车只能往前开,或在景点处等待。设共有m个游客,每位游客需要乘车1次从一个景点到达另一个景点,第i位游客在Ti分钟来到景点Ai,希望乘车...

2018-10-18 14:26:48 176

原创 洛谷4011 孤岛营救问题(BFS)(状态压缩)

题目1944 年,特种兵麦克接到国防部的命令,要求立即赶赴太平洋上的一个孤岛,营救被敌军俘虏的大兵瑞恩。瑞恩被关押在一个迷宫里,迷宫地形复杂,但幸好麦克得到了迷宫的地形图。迷宫的外形是一个长方形,其南北方向被划分为 N 行,东西方向被划分为 M 列,于是整个迷宫被划分为 N×M 个单元。每一个单元的位置可用一个有序数对(单元的行号,单元的列号)来表示。南北或东西方向相邻的 2 个单元之间可能互...

2018-10-18 13:47:07 269

原创 洛谷2444 [POI2000]病毒(AC自动机)(DFS)

题目二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码。如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的。现在委员会已经找出了所有的病毒代码段,试问,是否存在一个无限长的安全的二进制代码。示例:例如如果{011, 11, 00000}为病毒代码段,那么一个可能的无限长安全代码就是010101…。如果{01, 11, 000000}为病毒代码段,那么...

2018-10-18 13:38:09 259

原创 洛谷2889 [USACO07NOV]挤奶的时间Milking Time(DP)(树状数组)

题意奶牛Bessie在0~N时间段产奶。农夫约翰有M个时间段可以挤奶,时间段f,t内Bessie能挤到的牛奶量e。奶牛产奶后需要休息R小时才能继续下一次产奶,求Bessie最大的挤奶量。如果在(si,ti)时刻挤奶,那么休息完的时间是si+r,即下一次可以挤奶的最早时间是(si+r,...)。题解DP+树状数组设f[i]表示在第i小时结束挤奶时收获的最大奶量。有如下DP方程可以用...

2018-10-17 13:49:16 272

原创 洛谷3594 [POI2015]WIL-Wilcze doły(单调队列)

题目给定一个长度为n的序列,你有一次机会选中一段连续的长度不超过d的区间,将里面所有数字全部修改为0。请找到最长的一段连续区间,使得该区间内所有数字之和不超过p。特性选择一个区间[i,i+d-1],那么我们选择的最长区间一定在这个区间附近,也就是连续的。题解单调队列很明显是一个O(N)的算法,那么时间只够我们枚举一个右端点。枚举右端点后,最优的左端点在哪里呢?很明显,这个左...

2018-10-17 13:39:44 225

原创 洛谷3146 [USACO16OPEN]248(DP)

题意给定一个1*n的地图,在里面玩2048,每次可以合并相邻两个(数值范围1-40),问最大能合出多少。注意合并后的数值并非加倍而是+1,例如2与2合并后的数值为3。歪解记忆化搜索设f[l][r][x]表示(l,r)能不能合成x这个数,那么就有f[l][r][x]|=f[l][k][x-1]&f[k+1][r][x-1]。然后从大到小枚举x,再枚举个左端点和右端点,判断一下...

2018-10-17 13:26:31 315

原创 洛谷3463 [POI2007]EGZ-Driving Exam(DP)(树状数组)

题目成都的驾驶考试在一个有n条平行的自南向北的单向的道路的场地中进行。每条道路长度为m米,并且都在同一条水平线上开始和结束。街道从西向东分别编号为1到n。同样有p条单向的自西向东或自东向西的街道垂直于上面描述的街道,每一条这样的街道链接了两个相邻的自南向北的道路。当然自西向东和自东向西的道路可以重叠,那就是一个双向的街道了。考生选择一个自南向北的道路作为他考试的起始点和另外一个自南向北的道路...

2018-10-16 14:14:20 237

原创 洛谷3287 [SCOI2014]方伯伯的玉米田(DP)(树状数组)

题目方伯伯在自己的农田边散步,他突然发现田里的一排玉米非常的不美。这排玉米一共有N株,它们的高度参差不齐。方伯伯认为单调不下降序列很美,所以他决定先把一些玉米拔高,再把破坏美感的玉米拔除掉,使得剩下的玉米的高度构成一个单调不下降序列。方伯伯可以选择一个区间,把这个区间的玉米全部拔高1单位高度,他可以进行最多K次这样的操作。拔玉米则可以随意选择一个集合的玉米拔掉。问能最多剩多少株玉米,来构成一排...

2018-10-16 13:27:16 249

原创 洛谷1314 聪明的质监员(二分)(前缀和)

题目 洛谷1314 聪明的质监员题解二分+前缀和很显然满足二分性,随着W的增大,Y会变小,我们要找的是一个abs(S-Y)最小的值。一开始,我想着把abs拆开来看,讨论min(W-Y)和min(Y-W)。后来发现一个更牛逼的做法,只要一次二分,因为是要与S做绝对值,所以我们把Y值不断逼近S,有点像二分查找。至于如何快速求出对于当前W的Y呢?我们用前缀和。对于每个W都做一次前缀...

2018-10-16 13:08:00 232

原创 洛谷1072 Hankson 的趣味题(素数)

题意求gcd(a0,x)=a1且lcm(b0,x)=b1中x的解的方案数。题解这种gcd的问题一般都要拆成质因数来分析。线筛出1~sqrt(2e9)中的素数,那么所有数的质因数一定在其中出现,不然它本身就是一个素数(这个要特判)。对于质数p,他们的次数分别为ca0,ca1,cb0,cb1。分析gcd的特点,因为gcd(a0,x)=a1,所以有min(ca0,x)=ca1。具体情况...

2018-10-15 19:28:52 220

原创 洛谷4404 [JSOI2010]缓存交换(贪心)(优先队列)

题目在计算机中,CPU只能和高速缓存Cache直接交换数据。当所需的内存单元不在Cache中时,则需要从主存里把数据调入Cache。此时,如果Cache容量已满,则必须先从中删除一个。 例如,当前Cache容量为3,且已经有编号为10和20的主存单元。 此时,CPU访问编号为10的主存单元,Cache命中。 接着,CPU访问编号为21的主存单元,那么只需将该主存单元移入Cache中,造成一次缺...

2018-10-15 19:10:58 284

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除