跟我一起念:poi!poi!poi! 题意简述1e5个点2e5条边的无向联通图,对于每个点i,输出:删除i之后有多少有序对(x,y)使得x到y不连通,1<=x,y<=n,x,y不一定不等于i。(此题应援bgm:Maxi poi☆poi poi poi!) 思路框架求割点的时候,顺便求出$ ...
洛谷 3065 [USACO12DEC]第一!First!
题意简述你珂以修改字母表的顺序,能否使得一个字符串是n个字符串中字典序最小的字符串?(没有重复)对于每个字符串,你都要输出它是否能成为最小的那个。是输出YES,否则输出NO。 n<=30000,长度和<=300000 思路框架开TRIE树,对于每个同一层的节点,连一条有向边。然后跑一遍拓 ...
洛谷 2680 运输计划 题解
题意简述$n$个点的边带权树,给$m$条关键的链。把树上一条边的权值变为0,使得$m$条链的和中,最大值最小。 $n,m<=1e5$。 思路二分最大值$k$。现在考虑如何检验一个$k$。 找到所有链和$>k$的链,设这里面最长的链长度为$S$,有$C$条这样的链。用树链剖分找到被所有$C ...
洛谷 2647 最大收益 题解
题意简述给定n(个物品,每个物品有收益w_i(,以及一个减损值r_i(。当你选择了物品i之后,珂以获得w_i的收益,但是以后的所有物品的收益值都会减少r_i。减少是珂以叠加的(甚至变成负的)。求最大收益。 思路框架首先是无序的,先排个序。然后就dp。设dp[i][j]表示前i个物品选j个的最大收益。 ...
洛谷 2480 bzoj 1951 [SDOI2010]古代猪文 题解
这题是个毒瘤题。你基本上要把你知道的数论算法都写上才能过。 题意简述求g^{\sum\limits_{i|n} C_{n}^{i}}\%999911659,其中n,g。(看不清的话右键公式,点击Math\ Setting->Zoom\ Trigger->Hover) 思路用扩展:Lucas定理暴力求 ...
洛谷 2384 最短路 题解
题意简述N<=1000个点,M<=1000000条边。一条路径的权定义为:所有边权的积。请你求出最短路的边权9987(先最短,再膜) 思路把边权改为$ln$边权,然后就珂以将乘法变为加法了。但是这样你会WA最后一个点,因为乘的太多爆double了。解决方案是, 正解: 每个点记录从哪个 ...
洛谷 2343 宝石管理系统 题解
题意简述给定一个序列,维护两种操作,加入一个数,求第k大的数。 思路很明显这个题目珂以用平衡树做。但是,有一个引人深思的问题:你会写平衡树么? 但是, 颤抖吧,我可是会写STL的男人!我可是有STL的男人,会怕你这sb题?!所以我们考虑用vector做这个问题。插入的时候,我们只要lower_bou ...
洛谷 2278 bzoj 1276 [HNOI2003]操作系统 题解
题意简述你有一个CPU和若干(<=15000)个进程。每个进程有四个参数:代号,到达时间,运行时间,优先级。输入顺序保证按照到达时间排序。你会先处理先到达的任务。但是当你处理一个任务到一半的时候,来了一个优先级更高的任务,那么你会把刚刚那个任务放一半,处理优先级高的任务,再回来继续处理刚刚那个 ...
洛谷 1966 libreoj 2069 火柴排队 题解
题意简述给定两个数列a,b,长度均为n(,a,b中的数都互不相同。最小化每个数差的平方的和,形式化地,最小化:然后输出交换次数对99999997取膜的结果。 思路框架显然,最优的时候就是a,b都排好序的时候,那么我们把a,b离散化,都看成1,n的排列,然后算b需要多少步到a。是一个类似逆序对的问题, ...
洛谷 1841 [JSOI2007]重要的城市
题意简述给你一个联通的无向简单图,请你求出有多少个点满足:删除之后,存在两点最短路增长了。点数。(这个在某种程度上告诉了你这题用什么算法——博主注) 思路框架一边floyd一遍记录即珂。恕我直言,这简直是刚学floyd就会做的水题 具体思路设key[i][j]表示从i到j的路径上的一个关键断点(就是 ...