
最短路径
lemondinosaur
转圈圈 不停转圈圈 然后摔倒
展开
-
#二分图匹配,floyd,匈牙利算法#POJ 2594 Treasure Exploration
题目给出一个无向图,问最少需要多少条可重合的路径覆盖所有点分析先跑一遍floyd传递闭包,把题目转换成最小不可相交路径覆盖,然后再跑二分图,最小不可相交路径覆盖=总点数-最大匹配即可代码#include <cstdio>#include <cctype>#include <cstring>#define rr registerusing n...原创 2019-12-13 22:14:42 · 265 阅读 · 0 评论 -
2019.11.11【NOIP提高组】模拟 B 组
解题报告JZOJ 3888 正确答案题目分析代码JZOJ 3889 序列问题题目分析代码JZOJ 3890 长途旅行分析代码JZOJ 3888 正确答案题目试卷中共有mmm道判断题,nnn个神犇中有ppp个考了满分,qqq个考了零分,其他神犇不为满分或零分。还原出标准答案吗,如有多解则输出字典序最小的那个。无解输出-1。分析分类讨论,若ppp不为0,枚举正确答案,用STL::map\t...原创 2019-11-11 19:57:38 · 358 阅读 · 0 评论 -
2019.11.09【NOIP提高组】模拟 B 组
解题报告JZOJ 1402 偷懒的小X题目分析代码JZOJ 1403 渡河代码(开O2AC的SPFA)JZOJ 1404 菱形内的计数题目分析代码JZOJ 1405 电缆建设题目分析代码JZOJ 1402 偷懒的小X题目把一组数据按一定顺序依次插入数组中(即第iii个数为a[i]a[i]a[i]),最后得出来就已经是一个堆,即不需要任何交换操作,若有多种方法,输出字典序最大的一组。满足n=2...原创 2019-11-09 15:21:19 · 412 阅读 · 0 评论 -
#网络流,费用流,SLF优化,SPFA,zkw费用流#jzoj 1586 codevs 1362 洛谷 2604 网络扩容
题目有两个问题,首先求1到nnn的最大流(不解释了),然后求1到n使最大流扩展kkk的费用,每扩展一个最大流,扩展一次边的费用分析当然如何做第二个问题,可以重新建一个汇点流量是最大流+k+k+k,费用为0,并且原来的边再建一次从uuu到vvv,费用为该边的费用,流量无限跑一次最大流,then就讲完了代码 #include <cstdio> #include ...原创 2018-09-20 17:10:20 · 265 阅读 · 0 评论 -
2019.01.23【NOIP提高组】模拟 A & B 组
迟到的解题报告JZOJ 3084 超级变变变题目分析代码JZOJ 3085 图的计数题目分析代码JZOJ 3059 回家 洛谷 3831 回家的路题目分析代码JZOJ 3084 超级变变变题目定义f[n]=f[n]=f[n]=nnn是奇数,f[n]=n−1f[n]=n-1f[n]=n−1nnn是偶数,f[n]=n÷2f[n]=n\div 2f[n]=n÷2问经过若干次n=f[n]n...原创 2019-01-25 16:01:27 · 321 阅读 · 0 评论 -
2019.01.29【NOIP提高组】模拟 B 组
今天你AK了吗JZOJ 4244 yi分析JZOJ 4245 er题目分析代码JZOJ 4246 san题目分析代码JZOJ 4244 yi分析真是一道大水难题,主要是往返这两个字比较坑,剩下的贪心搞定,题目过水,就不贴代码了JZOJ 4245 er题目给你1∼21\sim 21∼2个数,然后让你经过kkk次修改后使它(们)乘积最大,输出自然对数修改如下:q=1q=1q=1,使...原创 2019-01-29 16:53:31 · 204 阅读 · 0 评论 -
2018年10月31日普级组
解题报告前言VIJOS 1389 婚礼上的小杉题目代码(过水)VIJOS 1390 玩诈欺的小杉题目分析代码VIJOS 1391 想越狱的小杉分析代码VIJOS 1392 拼拼图的小杉题目分析代码后续前言赛后AKVIJOS 1389 婚礼上的小杉题目总计N封的信件,每个信件都有自己的特征码和序号。请按照序号递增的顺序输出信件的特征码每行一个特征码,且特征码的格式应与输入完全一致...原创 2018-11-01 10:18:50 · 389 阅读 · 0 评论 -
2018_9_8 模拟题
前言:比较OTLJZOJ 3470 最短路题目给出一个nnn个节点,mmm条边的有向图,并且有kkk个点必须走过,问从起点sss到终点ttt的最短路径分析跑kkk遍spfaspfaspfa,在起点跑一次spfaspfaspfa,然后剩下的其实就是深搜或者状压了(我用了状压),时间复杂度O(k×常数×E+211×112)O(k×常数×E+211×112)O(k...原创 2018-09-08 15:39:33 · 501 阅读 · 0 评论 -
#堆优化dijkstra#洛谷 1828 jzoj 1287 codevs 2038 ssl 1693 香甜的黄油
题目有nnn个点,求每个点的单源最短路径的最短和分析其实跑nnn遍spfaspfaspfa或dijkstradijkstradijkstra堆优化就行了代码#include <cstdio>#include <queue>struct node{int y,w,next;}e[2901];int n,m,dis[801][801],ls...原创 2018-09-07 21:10:53 · 181 阅读 · 0 评论 -
2018.07.11【2018提高组】模拟C组
前言:OTLJZOJ 1293 气象牛题目:在N个数中选择K个,使K最小并总误差不超过E分析选择两点的误差可以预处理,动态规划。 状态转移方程:f[i][j]=min(f[k][j−1]+error[k][i]),状态转移方程:f[i][j]=min(f[k][j−1]+error[k][i]),状态转移方程:f[i][j]=\min(f[k][j-1]+...原创 2018-07-11 20:50:51 · 218 阅读 · 0 评论 -
2018年10月29日普级组
解题报告前言三个袋子题目分析代码前言确定这是普及的题目吗三个袋子题目将NNN个不同的球放到3个相同的袋子里,求放球的方案总数MMM分析如果每个袋子不一样,球也不一样,那么总方案数为3n3^n3n问题是袋子一样所以要除以3!,但是那样就漏算了空2个袋子的情况,所以应为(3n+3)÷6mod&amp;amp;ThinSpace;&amp;amp;ThinSpace;p(3^n+3)\div 6 \...原创 2018-10-30 16:58:08 · 203 阅读 · 0 评论 -
2018_10_24 模拟赛
解题报告JZOJ 5182 码灵鼠题目分析代码JZOJ 5178 So many prefix?题目分析代码JZOJ 5177 TRAVEL题目分析代码JZOJ 5182 码灵鼠题目a0=1a_0=1a0=1an=ai+aj(n≥1,i,ja_n=a_i+a_j (n\geq 1, i,jan=ai+aj(n≥1,i,j均在[0,n−1][0,n-1][0,n−1]内均匀随机)...原创 2018-10-26 21:58:30 · 743 阅读 · 0 评论 -
2018.07.08【2018提高组】模拟C组
前言今天做得不错吧,……比赛题目JZOJ 1619 音乐节拍题目大意:n个节拍,对于第i个节拍,持续的时间是Bi−1至Bi−1Bi−1至Bi−1B_{i-1}至B_i-1,q个询问,求在某个时间是第几个节拍。分析思路1:(在线)时间复杂度:O(n+qlogn)O(n+qlogn)O(n+qlogn) 由于持续的时间是递增的(前缀和),所以用二分查找找出...原创 2018-07-08 16:55:12 · 222 阅读 · 0 评论 -
#最短路径,最小生成树#CH 6202 黑暗城堡
题目求边都在从1开始的最短路径上的最小生成树的个数分析那么也就是说,首先先跑一遍最短路,用乘法原理求出答案代码#include <cstdio>#include <cctype>#include <cstring>#include <algorithm>#define rr registerusing namespace st...原创 2018-12-07 20:14:28 · 359 阅读 · 0 评论 -
#spfa,离散#poj 3171 jzoj 1254 洛谷 4644 清理牛棚 Cleaning Shifts
没有边权的题解poj 2376题目分析代码#include &amp;lt;cstdio&amp;gt;#include &amp;lt;algorithm&amp;gt;#include &amp;lt;vector&amp;gt;#include &amp;lt;queue&amp;gt;s原创 2018-08-28 15:48:24 · 247 阅读 · 0 评论 -
#Bellman-Ford,深搜#洛谷 3385 【模板】负环
题目寻找一个从顶点1所能到达的负环分析首先要深搜判断是否从1出发可到达,然后跑一遍Bellman-Ford。代码#include <cstdio>#include <cstring>#include <cctype>#define rr registerusing namespace std;struct node{int x,y,w,n...原创 2019-03-27 16:43:38 · 229 阅读 · 0 评论 -
2019_3_2 模拟赛
解题报告JZOJ 猫咪的进化题目分析代码JZOJ GF打Dota题目分析代码JZOJ 网站计划题目分析代码JZOJ 选做作业题目分析代码JZOJ 猫咪的进化题目有nnn个单位时间,可以选择v[i]v[i]v[i]的价值,或v[i]2v[i]^2v[i]2但是下一单位时间不能选择,问获得的最大价值分析分成三种情况,选,选平方和不选,dp即可,但是竟然卡double输入代码#incl...原创 2019-04-07 09:27:28 · 533 阅读 · 0 评论 -
2019.08.10【NOIP提高组】模拟 A 组
解题报告JZOJ 3736 数学题题目分析代码JZOJ 3737 挖宝藏题目分析代码JZOJ 3738 理想城市 IOI 2012 Ideal City题目分析代码JZOJ 3736 数学题题目分析代码#include <cstdio>#include <cctype>#define rr register#define swap(a,b) (a^...原创 2019-08-11 15:23:38 · 356 阅读 · 0 评论 -
USACO 3.2
解题报告洛谷 1134 阶乘问题代码(暴力)洛谷 2727 01串代码(动态规划)洛谷 2728 纺车的轮子代码(暴力)洛谷 2729 饲料调配代码(暴力+柯西不等式)洛谷 2730 魔板代码(广搜+哈希)洛谷 1828 香甜的黄油代码(dijkstra+堆优化)洛谷 1134 阶乘问题代码(暴力)/*ID:lemondi1LANG:C++TASK:fact4 */#include...原创 2019-08-11 08:28:10 · 263 阅读 · 1 评论 -
2019.08.09【NOIP提高组】模拟 A 组
解题报告JZOJ 6286 走格子 洛谷 4442 Portal JZOJ 5781 秘密难题分析代码JZOJ 6287 扭动的树题目分析代码JZOJ 6288 旋转子段题目分析代码JZOJ 6286 走格子 洛谷 4442 Portal JZOJ 5781 秘密难题题目分析一开始想着用一个栈存下可以放传送门的地方,结果思路错误WA掉了应该要建边跑最短路,我用的是DIJKSTRA+堆优...原创 2019-08-09 22:28:28 · 128 阅读 · 0 评论 -
2019.07.11【NOIP提高组】模拟 A 组
JZOJ 3326 矮人排队题目交换两个位置上的数,或者查询权值区间[l∼r][l\sim r][l∼r]是否连续分析用权值线段树,维护区间最大值和区间最小值的位置,判断是否连续代码#include <cstdio>#include <cctype>#include <cstring>#define rr register#define ...原创 2019-07-11 21:53:19 · 151 阅读 · 0 评论 -
#倍增,floyd#洛谷 1613 跑路
题目分析只要xxx到yyy,yyy到zzz的权都是2k2^k2k,那么xxx到zzz的权就是2k+12^{k+1}2k+1,通过这样把可直接连通的点连边,边权为1,跑floyd即可代码#include <cstdio>#include <cctype>#include <cstring>#define rr registerusing nam...原创 2019-05-04 13:35:44 · 155 阅读 · 0 评论 -
#差分约束系统,最长路,SPFA#POJ 1275 Cashier Employment
题目1∼24小时中第iii个小时需要rir_iri个出纳员,有nnn个人应聘,第iii从xix_ixi开始工作,一直工作8个小时。求至少要招募多少人应聘。分析首先0≤si−si−1≤num[i]0\leq s_i-s_{i-1}\leq num[i]0≤si−si−1≤num[i],然后si−si−8≥ris_i-s_{i-8}\geq r_isi−si−8≥ri,接着si−...原创 2019-04-28 16:38:28 · 196 阅读 · 1 评论 -
#差分约束,最长路,SPFA#POJ 1201 SP116 Intervals
题目链接分析那么这道题可以转换成差分约束系统,首先要换成前缀和,对于[a∼b][a\sim b][a∼b]必须不少于www也就是s[b]−s[a−1]≥ws[b]-s[a-1]\geq ws[b]−s[a−1]≥w,然后还有限制就是两个相邻的数的前缀和的差要么为0,要么为1,所以0≤s[k]−s[k−1]≤10\leq s[k]-s[k-1]\leq 10≤s[k]−s[k−1]≤1,建立一...原创 2019-04-27 12:13:13 · 170 阅读 · 0 评论 -
#0/1分数规划,SPFA,负环#洛谷 1768 天路
题目链接分析可以发现,这是一道0/1分数规划的题目,需要二分答案,然后判定是否存在负环,所以说bfs貌似不高效,那就用dfs吧,若二分答案为0,即不合法代码#include <cstdio>#include <cctype>#include <cstring>#define rr registerusing namespace std;st...原创 2019-04-27 08:18:00 · 218 阅读 · 0 评论 -
#差分约束,正环,最长路,SPFA#洛谷 3275 JZOJ 2406 糖果
题目链接分析按照题目的要求跑最长路,注意源点要倒序加边,不然会T掉一个点代码#include <cstdio>#include <cctype>#include <cstring>#include <queue>#define rr registerusing namespace std;struct node{int y,w...原创 2019-04-27 08:44:03 · 243 阅读 · 0 评论 -
2019.03.23【NOIP提高组】模拟 A 组
解题报告JZOJ 4671 CF666B World Tour题目分析代码JZOJ 4672 CF662B Graph Coloring[洛谷博客](https://www.luogu.org/blog/37782/solution-cf662b)JZOJ 4673 CF578D LCS Again[洛谷博客](https://www.luogu.org/blog/37782/solution-c...原创 2019-04-07 15:40:45 · 253 阅读 · 0 评论 -
#dijkstra,二叉堆#洛谷 5060 旅行
题目找出一条最短路径,使答案为PPP的倍数分析那么要用dis[x][w]dis[x][w]dis[x][w]表示走到第xxx个点时最短路径 mod ppp为w的最短路径,那么其实只需要一个dijkstra+堆优化即可,但是毒瘤出题人卡STL,于是手写堆,但是我太菜了,总是T掉一个点,所以只能开O2了。代码#include <cstdio>#include <cct...原创 2019-04-07 11:01:44 · 205 阅读 · 0 评论 -
2018_9_15 模拟赛
前言:OTLJZOJ 5461 购物题目有m块钱,k张优惠券,n个物品每个物品原价PiPiP_i元,优惠价QiQiQ_i元,问最多可以买多少个物品(优惠券每个物品最多使用一次)分析kkk张优惠券能用完肯定尽量用完,所以可以想到维护一个以优惠差值的大小为顺序的堆,首先先插入优惠价最小的kkk个商品,然后不断地把堆中的商品变成原价或把新的商品变成优惠价,其实就是运用了贪...原创 2018-09-15 14:39:38 · 408 阅读 · 0 评论 -
2018.07.17【2018提高组】模拟C组
前言:OTL。。。题目JZOJ 1264 乱头发节题目求一头牛到后面第一头不低于该牛身高的牛之间的牛的数量(不包括两头牛,如果没有不低于的,就当做最后有一头无限高的牛)分析单调栈!如果不想开long long,那就用unsigned代码#include &amp;amp;lt;cstdio&amp;amp;gt;#include &amp;amp;lt;ccty原创 2018-07-17 14:40:20 · 230 阅读 · 0 评论 -
(ssl 1346)电车#spfa#
因为第一个数字不用切换开关,so 后面的权值为1 所以spfa start#include &lt;cstdio&gt;using namespace std;struct lo{ int u,v,w,next;}a[10001]; int m,n,l,r,t,q,x,d[101],list[101],ls[101];bool v[101];void add(...原创 2018-01-13 14:41:29 · 204 阅读 · 0 评论 -
(ssl 2345)繁忙的都市#prim#
分析:第一个比较容易理解,连通图的最小生成树边数=点数-1第二个求的是最小生成树中权值最大的一个。#include &lt;cstdio&gt;#include &lt;cctype&gt;#include &lt;climits&gt;#include &lt;cstring&gt;using namespace s原创 2018-01-06 13:43:45 · 302 阅读 · 0 评论 -
(ssl 1613)最短路径#floyd,dijkstra#
找出从一点到另一点之间的最短路径。那这道题其实求的就是单源最短路径但对于蒟蒻来说Floyd是必须的#include &lt;cstdio&gt;#include &lt;cstring&gt;#include &lt;cmath&gt;using namespace std;int o(int t){return t*t;}int n,m原创 2018-01-10 17:47:12 · 343 阅读 · 0 评论 -
(ssl 1614)医院设置#floyd#
求最小路径和然后我还是喜欢格式上简洁的floyd#include &lt;cstdio&gt;using namespace std;int g[102][102],a[102],t,x,y,n,s,min=2147483647;int main(){ scanf("%d",&amp;n); for (int i=0;i&lt;=n+1;i++)原创 2018-01-10 17:50:06 · 231 阅读 · 0 评论 -
(ssl 1624)小萨的烦恼#floyd#
若小萨他们不能在限定时间内赶回学校,那么输出You are day dreaming! 否则,输出一个整数,为他们所需要花费的最少时间。所以这是一道求最短路径的题目(主要是不直接连通,坐车要和走路配套)虽然可以用dijsktra(幸好没拼错) 但是floyd简洁!!#include &lt;cstdio&gt;#include &lt;algorithm&gt;usi...原创 2018-01-11 17:34:24 · 228 阅读 · 0 评论 -
(ssl 1760)商店选址问题#floyd,dijkstra#
Description 给出一个城市的地图(用邻接矩阵表示),商店设在一点,使各个地方到商店距离之和最短。最短路径,floyd或dijsktra#include &lt;cstdio&gt;using namespace std;int n,f[201][201],s,min=2147483647;int main(){ scanf("%d",&amp;n);原创 2018-01-11 17:37:26 · 335 阅读 · 0 评论 -
(ssl 1761)城市问题#dijkstra#
Description 设有n个城市,依次编号为0,1,2,……,n-1(n&lt;=100),另外有一个文件保存n个城市之间的距离(每座城市之间的距离都小于等于1000)。当两城市之间的距离等于-1时,表示这两个城市没有直接连接。求指定城市k到每一个城市i(0&lt;=I,k&lt;=n-1)的最短距离。因为从一个地方开始,so floyd就显得too slow所以就用d...原创 2018-01-11 17:41:32 · 315 阅读 · 0 评论 -
(ssl 1021 洛谷 1037)产生数#floyd#
首先这道题明显的 最短路径(难道还用深搜)算了,还是copy题目吧 给出一个整数 n 和 k 个规则。 经过任意次的变换(0次或多次),能产生出多少个不同整数。仅要求输出个数。根据乘法原理答案等于0~9的状态数乘积(如果规则的右边可以为0那就要特判了)n超过30位,根据分析最大答案也就10^30了。 所以数组只用开到三十(为了保险,开到一百) so其实虽然我知道__int ...原创 2018-01-12 19:59:24 · 316 阅读 · 0 评论 -
(ssl 1762)工厂的烦恼#floyd#
其实求的就是有向无环图最长路(floyd不用说了)#include &lt;cstdio&gt;using namespace std;int n,m,max,x,y,t,g[101][101];int main(){ scanf("%d%d",&amp;n,&amp;m); for (int i=1;i&lt;=m;i++) scanf(&am原创 2018-01-12 21:07:11 · 225 阅读 · 0 评论 -
(ssl 1615)Frogger#floyd,kruskal,并查集#
好想copy题目分析:从Freddy到Fiona的路径中,一条路径最大的边的最小值其实就是变种floydf[i][j]=min(f[i][j],max(f[i][k],f[k][j]))最大值最小首先第一波福利(n^3)#include &lt;cstdio&gt;#include &lt;algorithm&gt;#include &lt;cmat原创 2018-01-13 11:04:40 · 233 阅读 · 0 评论