上一页 1 2 3 4 5 6 7 8 ··· 14 下一页
摘要: T1: 很容易写出dp式子:定义dp[i][j]为现在是第i个烟火,位置在j,然后就可以枚举上一个时间的位置k转移过来。(j-(t[i]-t[i-1])*d <= k <=j+(t[i]-t[i-1])*d) 这样是n*n*m的,考虑优化。 固定一个边界:j-(t[i]-t[i-1])*d<=k 可 阅读全文
posted @ 2019-10-14 18:30 rua-rua-rua 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 第一反应是找规律,结果发现没有规律可言。 但可以分成两种情况:1.有两点在同一边 2.三点都在不同边 然后因为单位面积是要求的小三角形,只需要将求面积的公式写出来,化简式子即可。(利用相似表示面积) 阅读全文
posted @ 2019-10-13 15:50 rua-rua-rua 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 像这种,有两种颜色,还是方阵,数据范围还那么小,首选二分图匹配。 通过分析题目,可以知道,无论怎么交换,一行或一列的1的个数是不会改变的。 最后的要求是每行和每列至少要共用一个1,。 可以想象成: 行 位置 列 行通过有1的位置向列连边,从而达到一行匹配一列。 将中间的点去掉就是二分 阅读全文
posted @ 2019-10-13 15:42 rua-rua-rua 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 模板: (用时间戳记录可以避免每一次memset vis) #include<bits/stdc++.h> using namespace std; #define N 2005 #define M 1000005 int match[N],vis[N],T=0;//只存一边的匹配点 int to[ 阅读全文
posted @ 2019-10-12 10:17 rua-rua-rua 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 题目 半联通子图,即只需要两两点之间单向联通,如果有强联通分量,里面的点都是满足条件的。 所以我们可以先缩点,转换成DAG,再考虑其性质。 如果缩点之后呈现这种图,那么一定是不合法的。 也就是说,我们只需要在拓扑过程中找到最长链即可。 但直接找会出现问题,题目中还要求求出个数,如果有重边的话,会将同 阅读全文
posted @ 2019-10-12 08:28 rua-rua-rua 阅读(229) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 这道题真的毒瘤,思想很简单,但是细节很多。。 题意:找到从1~n的必经点(每条信息都能获取),且不在一个点数>=2 的强连通分量中(恰好获取一次)。 先将有向图缩点,转换成一张有向无环图。 然后对缩点后的图进行正反拓扑,求出必经点。 再看必经点是否在一个点数>=2的强联通分量中。 正 阅读全文
posted @ 2019-10-11 19:41 rua-rua-rua 阅读(155) 评论(0) 推荐(0) 编辑
摘要: [HAOI2010]软件安装 分析: 每个点最多依赖一个点,最后建出来的图可能成环,也可能是一棵树。 先用tarjan缩点,对缩点后的图建边,会建成一颗森林(有成环点缩点后孤立) 用一个超级源点向入度为0的点连边,跑一遍树形dp 注意:1. 弄清楚依赖关系 2. 树形dp中要固定选父节点 #incl 阅读全文
posted @ 2019-10-11 19:38 rua-rua-rua 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 法一: 差分约束 将题目中的限制写成三个不等式:(s数组是前缀和) 1. s[r]-s[l-1]>=c 2. s[r]-s[r-1]>=0 3. s[r]-s[r-1]<=1 将第一个式子移项成最短路中dis的形式:s[r]>=s[l-1]+c 这个式子与:dis[i] >= dis 阅读全文
posted @ 2019-10-10 09:30 rua-rua-rua 阅读(157) 评论(0) 推荐(0) 编辑
摘要: 题目: 分析: 分数形式的套路是0/1分数规划:二分一个答案,将式子化简,转换为判断能否选出部分点使得 sigma(b[i]-c[i]*mid)>=0 在这道题中,因为有了依赖关系,而依赖关系不会成环,将依赖关系连边,会成为一棵树,只需要在这颗树上跑树形背包即可。 树形背包:对于一个点v,如果要选v 阅读全文
posted @ 2019-10-10 08:58 rua-rua-rua 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 题目: 弱化版 分析: 题目转化成,每次给出一段区间,在区间中选出几个点,选出的点比未选出的点等级高。 1. 将选出的点向区间中的每一个点都连权值为1的边,用拓扑求最长路径(一定是一个有向无环图),边数n*n*m,时间复杂度O(n*n*m) 2. 不直接连边,添加一个虚拟节点,将选出的点向虚拟节点连 阅读全文
posted @ 2019-10-10 08:37 rua-rua-rua 阅读(171) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 14 下一页