题解: A:傻逼题 B: 令dp1[i]表示前i个最多匹配到哪里 dp2[i]表示后i个最多匹配到哪里 然后对于每一个位置,它的取值范围是由dp1[i-1]和dp2[i+1](一个交错区间) 然后前缀和算一下就可以了 C: 推公式题 发现是个组合数 E: 一上来就写了spfa+状压dp 然后就发现m ...
分类:
其他好文 时间:
2018-05-05 11:15:06
阅读次数:
163
tag是假的,用了及其诡异的方法判负环 正权无向边和负权有向边的图 cpp include include include using namespace std; const int N=505,inf=210000000; int n,m,w,h[N],cnt,d[N]; struct qwe ...
分类:
其他好文 时间:
2018-05-03 22:09:13
阅读次数:
151
"题目链接" 随机化 暴力: 随便从一个点开始DFS,每次从之前得到的f[i]最大的子节点开始DFS。f[i]为从i开始(之前)能得到的最大答案。 要注意的是f[i]应当有机会从更小的答案更新, 9.10求直径。 就82分了。 本来想的SPFA啥的也不对。。思路是 "这" 的。 cpp includ ...
分类:
其他好文 时间:
2018-05-02 19:06:52
阅读次数:
154
至死不用dijskstra系列2333,洛谷上T了一个点,开了O2才过 基本想法是建立分层图,就是建k+1层原图,然后相邻两层之间把原图的边在上一层的起点与下一层的终点连起来,边权为0,表示免了这条边的边权,然后答案就是第0层的s到k层的t的最短路,因为0权边总是从上一层连到下一层,所以到达k层就表 ...
分类:
其他好文 时间:
2018-05-01 10:55:28
阅读次数:
176
基本思路: 一开始确实没什么思路,因为觉得怎么着都会超时,然后看一下数据范围,呵,怎么都不会超时。 思路: 1.看到能改变线路,想到可以用以下区间dp,区间dp的话,先枚举长度,枚举开始位置,然后枚举中间点 dp[i][j]=min(dp[i][j],dp[i][z]+dp[z][j]+k); 2. ...
分类:
其他好文 时间:
2018-04-30 20:27:13
阅读次数:
148
Luogu P3371 单源最短路径 题目描述 如题,给出一个有向图,请输出从某一点出发到所有点的最短路径长度。 输入输出格式 输入格式: 第一行包含三个整数N、M、S,分别表示点的个数、有向边的个数、出发点的编号。 接下来M行每行包含三个整数Fi、Gi、Wi,分别表示第i条有向边的出发点、目标点和 ...
分类:
其他好文 时间:
2018-04-30 16:40:39
阅读次数:
154
题目链接 Farm Tour Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 18961 Accepted: 7326 Description When FJ's friends visit him on the farm, he ...
分类:
其他好文 时间:
2018-04-29 23:56:32
阅读次数:
203
注意好处理读入和读出一定用cin! #include <iostream> #include <cstring> #include <cstdio> #include <map> #define MX 80001 #define oo 12312312 #define S 1 #define T ( ...
分类:
其他好文 时间:
2018-04-29 12:01:50
阅读次数:
139
严格次短路模板,用两个数组分别维护最短路和次短路,用dijskstra,每次更新的时候先更新最短路再更新次短路 写了spfa版的不知道为啥不对…… ...
分类:
数据库 时间:
2018-04-28 23:40:11
阅读次数:
205
最短路 要求掌握Floyd,Dijkstra,SPFA 下面依次来讲解....... 1:Flyod 弗洛伊德(Floyd)是解决最短路径的算法,可以求出任意两点间的最短路径。使用条件: 1:可以出现负边权 2:不是单源(只有一个起始点)算法利与弊: 利:跑一次即可求出任意两点最短路径,且可以存在负 ...
分类:
其他好文 时间:
2018-04-28 22:13:29
阅读次数:
187