自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

仙都一普通市民的blog

天下有大勇者,卒然临之而不惊,无故加之而不怒。此其所挟持者甚大,而其志甚远也。

  • 博客(47)
  • 收藏
  • 关注

原创 P1850 换教室(期望dp,Floyd)

P1850 换教室题目描述有n个课程安排,其中第i个课程安排是在aia_iai​号教室上课. 每个课程安排都有相应的替代方案,也就是说,我们也可以选择申请在bib_ibi​号教室上同样的课程. 对于每个课程安排,申请通过的概率为pip_ipi​,而且我们最多可以申请更换mmm个课程的上课地点. 当然,也可以选择一个都不申请. 与此同时,课间在不同教室之间移动时有一个体力消耗值,现在我们希望求一...

2019-11-04 20:21:56 163

原创 P1084 疫情控制(二分答案,倍增,贪心)

<kbdP1084 疫情控制>题目描述给定一棵树,一些点(不包括树根)上有军队,每条边有一个边权,各个军队可以同时移动,求最小的移动时间,使得每条通往任意叶子结点的路径上至少都有一支军队.题目分析...

2019-11-02 08:22:17 654 1

原创 P1312 Mayan游戏(dfs,模拟)

P1312 Mayan游戏题目大意太复杂了一点,自己看吧大概是说一款类似于消消乐的游戏,每次每个方块只能左右移动/交换,当至少有连续三个方块排成一列或者时才能消去,消去之后有可能触发连锁反应.题目分析20pts:有一档“没有解决方案则输出-1”,直接输出-1就有20分了.30pts:实际上这一档是40pts,只要处理一排的情况并在不是一排的时候输出-1就行了.代码实现也很简单,因...

2019-11-01 21:00:32 232

原创 对拍model

暴力程序(std.cpp)#include<bits/stdc++.h>using namespace std;int n,m,k,x;int main(){// freopen("data.in","r",stdin);// freopen("std.out","w",stdout); scanf("%d%d%d%d",&n,&m,&k...

2019-11-01 18:26:50 130

原创 P2680 运输计划(树上差分,树链剖分求lca,二分答案)

P2680 运输计划

2019-10-30 11:52:02 138

原创 P1600 天天爱跑步(树上差分,桶思想,最近公共祖先)

P1600 天天爱跑步题目描述给定一棵树和一些路径,每个点有一个点权,求每个点点权恰好等于路径上的访问排位的数量.举个例子:s−>ts->ts−>t经过了点kkk,点kkk的权值为www且点kkk恰好是这条路径上第w+1w+1w+1个点(路径上第一个点sss的访问排位为0),则ans[k]++ans[k]++ans[k]++.题目分析25pts:随便乱搞都可以. 我采...

2019-10-29 16:34:39 305

原创 P2279 消防局的设立&&P3942 将军令(贪心)

P2279 消防局的设立P3942 将军令题目描述给定一棵树,要求用若干个点将整棵树完全覆盖,其中每个点都可以覆盖与它的距离不超过kkk的点.题目分析如果k=1k=1k=1或k=2k=2k=2,那么...

2019-10-25 20:53:25 163

原创 P2312 解方程(秦九韶算法,模运算性质)

P2312 解方程题目描述给出一个形如a0​+a1​x+a2​x2+⋯+an​xn=0a_0​+a_1​x+a_2​x^2+⋯+a_n​x^n=0a0​​+a1​​x+a2​​x2+⋯+an​​xn=0的多项式方程,求这个方程在[1,m][1,m][1,m]区间内的所有整数解.题目分析分析出题人的意思并观察数据范围. 可见∣ai∣|a_i|∣ai​∣的数据范围非常大,而mmm的数据范围却比...

2019-10-25 20:19:45 355

原创 P3986 斐波那契数列(拓展欧几里得定理)

P3986 斐波那契数列题目描述定义一个数列:f(1)=a,f(2)=b,f(n (n>1) )=f(n−1)+f(n−2)f(1)=a,f(2)=b,f(n\:(n>1)\:)=f(n-1)+f(n-2)f(1)=a,f(2)=b,f(n(n>1))=f(n−1)+f(n−2),其中a,ba,ba,b均为正整数,问有多少种(a,b)(a,b)(a,b)使得kkk出现在数列中...

2019-10-24 20:36:59 483

原创 扫描线学习总结

扫描线是一种重要的计算几何思想. 简单概括起来,就是把图形的边界看成区间,然后对这个区间进行维护处理.在算法设计竞赛中扫描线主要有这几个应用:扫描线求面积并,扫描线求周长,扫描线求图形轮廓线.扫描线求面积并P5490 扫描线P2061 城市的地平线City Horizon观察上面的gif,可以发现,一个图形的总面积就等于每次更新之后的底面积与这一段区间的高度(或者宽度,取决于维护什么方...

2019-10-24 09:41:15 412

原创 contest:10.22

猴猴吃苹果(分治,贪心)猴猴吃苹果题目大意:定义树上两点的距离为两点之间未访问的点的数量. 每次求距离已访问的点集最远的叶子结点,然后将该叶子到点集的路径上的点全部设为已访问. 求访问叶子的顺序.60pts:看到求区间点权和修改区间点权,首先考虑O(n2log2n)O(n^2log^2n)O(n2log2n)的树链剖分,当然也可以采用O(n3)O(n^3)O(n3)的spfaspfaspfa...

2019-10-23 16:13:41 178

原创 P2511 [HAOI2008]木棍分割(二分,动态规划)

P2511 [HAOI2008]木棍分割题目大意有nnn根木棍, 第iii根木棍的长度为LeniLen_iLeni​,nnn根木棍依次连结了一起, 总共有n−1n-1n−1个连接处. 现在允许你最多砍断mmm个连接处, 砍完后nnn根木棍被分成了很多段,要求满足总长度最大的一段长度最小, 并且输出有多少种砍的方法使得总长度最大的一段长度最小.题目分析总长度最大的一段最小:最大值最小问题,可...

2019-10-17 16:15:49 490

原创 P1032 字串变换(bfs,字符串处理)

P1032 字串变换关于字符串处理可以看一下这里在这道题中,主要是要把原字符串的指定子串修改为新的子串.而在string这一类中,我们有str.replace函数,作用相同.那么这样本题就完成了.程序实现#include<bits/stdc++.h>using namespace std;string astr,bstr,ar[8],br[8];map<str...

2019-10-10 08:41:59 231

原创 P5024 保卫王国(矩阵乘法,动态dp)

P5024 保卫王国题意概述给定一棵带权树和mmm个要求,求树上每条边的两个端点至少选择一个时,最小的总权值. 此外,每个要求都会指定两个点是否能够选择,求在分别满足这些要求的前提下,最小的总权值是多少.题目分析首先,如果只看题目的前半部分,就是一个简单的树形dpdpdp,本题的难点就在于如何在指定两个点的状态的同时做到时间复杂度尽量低.朴素的想法考虑最朴素的做法,显然是每次询问时,重...

2019-10-08 23:01:32 161

原创 P3959 宝藏(模拟退火)

P3959 宝藏特别鸣谢题目描述给出一张有向图,从所有节点中取一个节点作为起始节点,使得遍历这张图的总代价最小.总代价是到达各个节点的代价的和. 到达每个节点的代价的计算方法是:从这个节点的前驱节点到达这个节点的边的边权*从起始节点到前驱节点的路径上的节点数(包括起始节点和前驱节点,但是不包括这个节点本身).题目分析primprimprim算法一个我从来没学过的最小生成树算法.和d...

2019-09-16 22:49:52 230

原创 P3244 [HNOI2015]落忆枫音(DAG上的动态规划问题,朱刘定理,乘法逆元)

P3244 [HNOI2015]落忆枫音样例太坑了!竟然和题目描述给的图不一样!题目描述给定一张有向无环图,这张图满足一个性质:以点1为根节点,保证至少有一棵有向树,连接所有的节点.现在向这张图中新增一条给定的有向边,求增加这条有向边之后,有向无环图中的有向树的数量.答案可能会很大,所以要对1e9+71e9+71e9+7取模.题目解析首先,我们有这样一个定理:朱刘定理:一张有向无...

2019-09-12 18:07:35 211

原创 P3953 逛公园(最短路计数,spfa判环,分层图,拓扑序dp)

P3953 逛公园题目描述给定一张有向图,求从点1到点nnn长度不大于disn+kdis_n+kdisn​+k的路径总数.规定只要路径中经过的点不同或者经过点的顺序不同,就另算一条新的路径.注意可能有0边,若这样的路径有无数条,则输出−1-1−1.题目分析最短路计数首先观察30pts30pts30pts部分分,可以发现,这就是一个裸的最短路计数问题. 因为是带权图,所以我们采用d...

2019-09-10 15:32:36 192

原创 模拟退火的进一步学习(P5544 [JSOI2016]炸弹攻击1)

P5544 [JSOI2016]炸弹攻击1题目描述给定平面上nnn个圆与mmm个点,找到平面上某个点,选择某个不大于RRR的长度,满足以这个点为圆心、这个长度为半径的圆与给定圆不相交(可以相切)且覆盖的(mmm个点里的)点数最大。输出这个最大值.数据范围:n≤10n \le 10n≤10,m≤1000m \le 1000m≤1000,坐标绝对值和半径≤103\le10^3≤103.题目分析...

2019-09-09 15:30:03 284 1

原创 模拟退火学习报告(P3878 [TJOI2010]分金币)

P3878 [TJOI2010]分金币题目描述现在有n枚金币,它们可能会有不同的价值,现在要把它们分成两部分,要求这两部分金币数目之差不超过1,问这样分成的两部分金币的价值之差最小是多少?题目分析分析发现,我们可以每次交换在两个部分中的两个元素,然后求两部分差最小的情况.但是观察nnn的范围不大于303030,那么在数据最强的情况下,搜索的复杂度可以达到O(2n)O(2^n)O(2n)的...

2019-09-08 21:55:02 330

原创 P3385 负环(spfa求负环)

P3385 负环有负权的图sssp问题不一定无解,但是有负环的图sssp问题一定无解.题目描述给定一张带负权边的图,求从1开始到每个点的最短路路径上是否有负环. 可能有重边或者自环.题目分析带负权的图做最短路,显然只能用spfaspfaspfa.spfa这种最短路算法.如果一个环上的边权有负的,我们可以重复走这条路来获得更小的边权,所以这可以作为我们使用spfa判断负环的根据.根...

2019-09-05 11:01:06 176 1

原创 P1608 路径统计(带权图的最短路数统计,dijkstra算法)

我可以这么说:spfa不仅仅是bellman_ford的队列优化版本,而且是魔改!P1608 路径统计题目描述给定一张有向有权图,求出点1到点n的最短路长度和最短路的数量. 可能无解,但是不会出现负权边和自环,若有重边请忽略影响,只算一条.题目分析之前我们有做过无权图的最短路算法,那时候我们直接对spfaspfaspfa进行操作就好了.然鹅这道题,spfaspfaspfa就不能直接...

2019-09-04 21:49:52 367

原创 UVA721 Invitation Cards(SPFA,反向建图技巧)

UVA721 Invitation Cards反向建图是一种非常重要的解题思想,务必掌握.题目描述给定一张图,求从源点1到每个点的最短路之和和每个点到源点1的最短路之和的和. 保证整张图强连通,答案在intintint范围内.题目分析求源点1到每个点的最短路之和的做法是显然的.而求每个点到源点的最短路,最直观的思路是直接每个点进行一次求最短路,但是观察数据范围,发现数据是百万级的,明显...

2019-09-04 11:30:15 299

原创 lightOJ 1002 country roads (最短路算法的拓展变式)

lightOJ 1002 Country Roads 单源最长路径怎么求 ?当然就是把单源最短路径改过来就行了.那么,其他涉及边的状态转移的问题呢?是否也能用最短路算法魔改而成?答案是肯定的.题目大意给定一张无向图和一个终点,定义一个点到终点的权为这个点到终点的所有路径中长度最大的边的最小值.如图,点0到4的路径有三条,它们的路径上的边权最大值分别是8,9,7,取最小,输出7题目分析...

2019-09-03 21:40:13 210

原创 P1606 [USACO07FEB]白银莲花池 &&P1979 华容道(bfs预处理+状态连边建图+最短路算法求解,最短路计数)

这几天写题是真的自闭,连图都不会建了P1606 [USACO07FEB]白银莲花池P1979 华容道题目大意不可描述,自己看去.解题思路bfsbfsbfs预处理+状态连边建图+最短路算法求解这是这类题一个非常重要的思想.通过bfsbfsbfs建图将各个状态连接,然后用最短路算法求出最优的状态.bfsbfsbfs预处理+状态连边建图部分:P1606 [USACO07FEB]白银莲花...

2019-09-03 11:25:29 319

原创 CF915E Physical Education Lessons(动态开点线段树)

CF915E Physical Education LessonsCodeForces 不允许您多次提交相同的一份代码。如您多次提交相同代码,则有可能会被返回此错误。如确实需要多次提交一份代码,请自行添加一些注释 ~题目大意给出一个数列,初始每个元素都为1,每次操作把区间(l,r)(l,r)(l,r)的所有元素变为1或者0,求每次操作后(1,n)(1,n)(1,n)区间所有元素的和.题...

2019-08-27 21:41:29 242 1

原创 P4768 [NOI2018]归程(Kruskal重构树,倍增,单源最短路径)

发现Kruskal重构树和倍增通常一起使用呢!P4768 [NOI2018]归程题目描述自己看题面吧,不可描述.题目分析从大体思路入手, 我们可以把从v到1的路径分成两部分, 一半全开车,一半全走路.也就是说要枚举n个节点作为断点(假设当前断点为u), 这个断点是可行解与最优解当且仅当存在一条从v到u的路径可以全部开车且从u到1全部走路的最短路是满足上一条件中最短的那么要怎么...

2019-08-27 16:34:04 174

原创 单源最短路径:dijkstra算法

背景作为一个只会spfa求最短路的蒟蒻,我挂在了[NOI2018]归程这道题上.是我了。。。所以,我决定学习dijkstra算法.dijkstra算法详解实际上也蛮简单的嘛。。。程序实现#include<bits/stdc++.h>#define inf 0x3f3f3f3f#define maxn 200010using namespace std;stru...

2019-08-26 21:20:11 191

原创 主席树专题(区间第k小,可持久化数组)

相关题目P3834 主席树(区间第k小)P3919 可持久化数组P3402 可持久化并查集程序实现以下是区间第k小(大)的封装.struct chairmantree{ private : int lc[maxn<<5],rc[maxn<<5],sum[maxn<<5]; public : int build(int ll,int rr)...

2019-08-26 19:13:16 127

原创 P5520 [yLOI2019] 青原樱(排列组合)

P5520 [yLOI2019] 青原樱我又来颓文化啦!题目描述从nnn个空位中选择一些空位种mmm樱花,要求每两棵樱花之间至少要有一个空位.求合法种植数.题目分析题解本家这不是五三水题嘛。。。首先,看到这种“一个空位”的问题,第一想法就是把一棵樱花和它后面的空位视为一组(或者一个数).另外我们可以发现,如果最后一个元素在n位置上时,那么是不用考虑它后面的那个空位的.所以思路就...

2019-08-26 16:37:39 320

原创 P4197 Peaks (倍增,主席树,Kruskal重构树)

P4197 Peaks题意描述在BytemountainsBytemountainsBytemountains有nnn座山峰,每座山峰有他的高度hih_ihi​​. 有些山峰之间有双向道路相连,共mmm条路径,每条路径有一个困难值,这个值越大表示越难走,现在有qqq组询问,每组询问询问从点vvv开始只经过困难值小于等于ddd的路径所能到达的山峰中第k高的山峰,如果无解输出−1-1−1.题目分...

2019-08-26 15:25:14 185

原创 P5514 永夜的报应(异或,数学)

P5514 永夜的报应做kruskal重构树腻了,来拓展下视野。。。题目描述定义一组数的权值为该组内所有数的异或和. 请求出一种分组方案,使得分出的所有组数的权值之和最小,输出权值之和的最小值.题目解析我们知道异或运算的基本法则:同号则为假,异号则为真.不妨对每一位进行分析:0 ^ 0 = 01 ^ 0 = 0 ^ 1 = 11 ^ 1 =0可以发现每一位异或的值一定小于等于...

2019-08-25 20:49:15 242

原创 P1714 切蛋糕(单调队列,最大不定长子段和问题,multiset,前缀和)

P1714 切蛋糕简要题意求给定数组中最大的长度不超过给定长度的子段和.题目分析前缀和的使用看到有个“前缀和”的tag,就明白要用前缀和表示我们发现,如果直接用数组本身计算这个最大不定子段和,我们需要三重循环(n,mn,mn,m加上一重计算各元素的和)为了减小维度,提高效率,我们可以预处理前缀和以通过O(1)O(1)O(1)得到各元素的和.multisetmultisetmulti...

2019-08-22 17:27:08 341

原创 P1351 联合权值(模拟,贪心,数学)

虽然这道题打了“动态规划,动规,dp”和“最近公共祖先,LCA”的标签,但实际上一点关系没有???P1351 联合权值题目大意给出一棵树,求树上距离等于2的有序点对的乘积和和乘积最大值.题目分析首先,此题说的比较的隐晦. 所谓的有n−1n-1n−1条边,nnn个点的无相连通图,其实就是一颗无根树. 换句话说,没有一个环. 所以,要是两个点同于另一个点(称为中转点)相连,则它们不可能再...

2019-08-21 20:38:46 131

原创 P1034 矩形覆盖(dfs,剪枝)

P1034 矩形覆盖不想写题意描述了,看链接吧。。。题目分析由于数据范围较小(k&lt;5,n&lt;50k&lt;5,n&lt;50k<5,n<50)所以考虑直接搜索,通过搜索来确定每个点是否能放进一个矩形中,状态记录当前点被矩形覆盖后的总面积.程序实现#include<bits/stdc++.h>#define inf 0x3...

2019-08-20 20:31:38 175

原创 P2894 [USACO08FEB]酒店Hotel(构建线段树维护区间信息,懒标记)

P2894 [USACO08FEB]酒店Hotel简要题意输入n,mn,mn,m ,表示nnn的初始区间,开始都为空(000),mmm表示以下有mmm个操作.其一,查询房间,表示找到长度为xxx的连续空区间,输出其最左端的元素编号,尽量让这个编号最小,若找不到长度为x的区间,输出000. 然后这个区间变为111.其二,清空区间,清空xxx到x+y−1x+y-1x+y−1的区间的所有元素. ...

2019-08-20 12:19:12 161

原创 P1972 [SDOI2009]HH的项链(树状数组,离线,贪心)

P1972 [SDOI2009]HH的项链题目描述给出一列数,试求在指定范围内有多少个不同的数. 数列的长度不大于100000010000001000000,每个数的大小都不超过100000010000001000000.题目分析我们不妨把问题简化,想一想只有一组询问的时候应该怎么做.考虑最暴力的做法,由数列从左到右,如果发现尚未标记的颜色,标记,颜色数加一.我们发现,还有一种等价的...

2019-08-17 18:03:50 150

原创 P3372 线段树1

P3372 线段树1题目分析关于pushdownpushdownpushdown操作,是懒标记(tagtagtag)下放和子节点信息更新的操作,其目的是维护线段树的父节点与子节点之间的关系,在每次更新(updateupdateupdate)和查询(queryqueryquery)子节点操作前都要pushdownpushdownpushdown,以保证更新和查询子节点时子节点的值是正确的. 否则...

2019-08-16 08:41:13 198

原创 HDU2838 Cow Sorting(树状数组求逆序对的变式)

HDU2838 Cow Sorting题目大意一组数需要从小到大排序,排序操作是仅能交换相邻的两数,代价是这两个数的代数和,计算最小的代价.题目解析看到相邻的两数,心里咯噔一下:又是逆序对!但是这道题不太一样,除了求最小交换次数,还要求交换的代价.我们不妨举个栗子:3 4 2 1对于这组数据而言,无论是2还是1,都需要与原数组中左边比它大的3和4进行交换,也就是说,对于每个数,我...

2019-08-15 15:05:52 160

原创 P5200 Sleepy Cow Sorting(树状数组,模拟)

P5200 Sleepy Cow Sorting题目大意Farmer&MediumSpace;JohnFarmer\: JohnFarmerJohn正在尝试将他的nnn头奶牛(1≤n≤105)(1≤n≤10^5)(1≤n≤105),编号为1…n1…n1…n,排好顺序. 当前,这些奶牛以p1,p2,p3,…,pnp_1,p_2,p_3,…,p_np1​,p2​,p3​,…,pn​的顺序排...

2019-08-14 20:05:36 494

原创 P1966 火柴排队(离散化,树状数组求逆序对)

P1966 火柴排队题目描述给定两列元素个数都为nnn的数列,每次只能交换同一序列的相邻两数,同一序列的任两数互不相同. 求最小交换次数ansansans,使得∑(ai−bi)2\sum \left ( a_i-b_i \right )^2∑(ai​−bi​)2最小.题目分析我们不妨展开∑(ai−bi)2\sum \left ( a_i-b_i \right )^2∑(ai​−bi​)2,...

2019-08-14 15:20:19 201

空空如也

空空如也

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

TA关注的人

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