题意:n个人,m个信息,每行的信息是3个数字,A,B,C,表示B比A多出来的糖果不超过C个,问你,n号人最多比1号人多几个糖果 解题关键:差分约束系统转化为最短路,B-A>=C,建有向边即可,与dijkstra中的d[v]>=d[u]+C相同,即可求解。 ...
分类:
其他好文 时间:
2019-02-04 08:56:25
阅读次数:
157
这道题是一个不错的题,难点就在于建模。 交换操作过程中,同一行的黑块是不会被拆开,同理纵块也是。 接着目标状态就是一条对角线上全都是黑块。 我们倒过来想,看看能否从目标状态变成初始状态。 对于所有的黑块$(x,y)$(左边行右边列,点分行列),我们连条边$x \leftarrow \rightarr ...
分类:
其他好文 时间:
2019-02-03 20:57:27
阅读次数:
176
"题面" 题解 相信大家写过的传统做法像这样:(这段代码蒯自 "Karry5307的题解" ) cpp struct SegmentTree{ ll l,r,prefix,suffix,sum,maxn; }; //... inline void update(ll node) { ll res; ...
分类:
其他好文 时间:
2019-02-03 19:46:01
阅读次数:
180
题目描述 一个餐厅在相继的 NNN 天里,每天需用的餐巾数不尽相同。假设第 iii 天需要 rir_iri?块餐巾( i=1,2,...,N)。餐厅可以购买新的餐巾,每块餐巾的费用为 ppp 分;或者把旧餐巾送到快洗部,洗一块需 m 天,其费用为 f 分;或者送到慢洗部,洗一块需 nnn 天(n>m ...
分类:
其他好文 时间:
2019-02-03 12:32:06
阅读次数:
194
4.1typeof关键字ANSIC定义了sizeof关键字,用来获取一个变量或数据类型在内存中所占的存储字节数。GNUC扩展了一个关键字typeof,用来获取一个变量或表达式的类型。这里使用关键字可能不太合适,因为毕竟typeof还没有被写入C标准,是GCC扩展的一个关键字。为了方便,我们就姑且称之为关键字吧。通过使用typeof,我们可以获取一个变量或表达式的类型。所以typeof的参数有两种形
分类:
编程语言 时间:
2019-02-03 09:19:43
阅读次数:
186
原题链接:https://vjudge.net/problem/20289/origin 某省调查乡村交通状况,得到的统计表中列出了任意两村庄间的距离。省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可),并要求铺设的公路总长度为最 ...
分类:
其他好文 时间:
2019-02-03 00:57:49
阅读次数:
149
比赛的时候又被垃圾题艹翻了啊。 这个题显然是区间dp 考虑怎么转移。 类似消除方块和ZYB玩字符串那样的一个DP。 可以从左到右依次考虑消除。 dp[l][r][k][flag]表示区间l,r左边粘着k个flag。 转移方式: 1.考虑强行去继续黏上下一个字符并使k+1。 2.考虑把一段跳过去,让被 ...
分类:
其他好文 时间:
2019-02-03 00:47:44
阅读次数:
214
CF1096D Easy Problem ~~复习了几乎忘光了的dp~~ dp数组是这样子的:$dp[i][0/1/2/3/4]$表示前$i$个字符,"hard"遍历到了第几个字符的最小代价。 核心代码是这样的: cpp memset(dp, 0x3f, sizeof dp); for(int i ...
分类:
其他好文 时间:
2019-02-02 23:18:33
阅读次数:
199
A. Minimum Integer 水 #include<bits/stdc++.h> #define clr(a,b) memset(a,b,sizeof(a)) using namespace std; typedef long long ll; const int maxn=1e3+10; ...
分类:
其他好文 时间:
2019-02-02 18:52:07
阅读次数:
178
"传送门" 这题有个坑点(好吧是我第一次做这类题没有感觉)。就是一本书只能用一次,也就是这个点带有点容量,所以需要进行拆点。 cpp include include include include define MAXN 20005 define INF 2147483647 struct edge ...
分类:
其他好文 时间:
2019-02-02 12:41:34
阅读次数:
137