图论
文章平均质量分 68
heheda_is_an_OIer
这个作者很懒,什么都没留下…
展开
-
bzoj 1064 假面舞会
这是一道不错的题,膜拜题解一个很巧妙的处理:搜索拓扑图最长链时,设反向边的长度是-1,那么任选一个节点开始dp就能获得正确答案。 #include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 100010#define原创 2015-11-16 10:37:44 · 400 阅读 · 0 评论 -
bzoj 3108 图的逆变换
可以发现,不存在合法方案当且仅当存在边1->2,3->2,2->4,但是不存在边3->4我一直在想在现有图上一个一个加边如何判定可行性,想偏了#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 330using nam原创 2015-11-16 10:39:50 · 394 阅读 · 0 评论 -
bzoj 1061 志愿者招募
明显的线性规划网络流,据说当时考场上就1个人A了?a[i][j]表示第i种志愿者第j天是否工作p[i]表示第i种志愿者的人数sigma(a[i][x]*p[i])>=need[x] 补充函数y[i],则sigma(a[i][x]*p[i])=need[x]+y[x]差分,start[i]表示第i种志愿者开始工作的时间,end[i]表示第i种志愿者结束工作的时间sigma(p[i]*(start原创 2015-11-16 10:37:28 · 383 阅读 · 0 评论 -
bzoj 2306 幸福路径 【floyd】【dp】
期望值最大的dp,转移有环开始在想强连通分量缩点之后,块内高斯消元+拓扑图dp。但是高斯消元没有max的转移。所以用了处理有环最大值的方法:floyd总结一下:处理转移有环的方法:最短路(单源 floyd)主要是求max/min高斯消元 主要是求期望。强连通分量缩点 主要是题内有明显提示或强连通分量内部有特殊性质。#include#include#inclu原创 2015-11-20 22:57:47 · 625 阅读 · 0 评论 -
bzoj 2118 墨墨的等式
又是好一道数论题!令mn为a[1]~a[n]中数的最小值。很显然,如果x能被凑出来,x+mn也能被凑出来。所以我们只需要知道对于每一个x属于[0,mn),满足y%mn==x中最小的y,那么就能知道[1,R]中模mn等于x的数里能凑出来的个数。注意spfa的时候正无穷要大一点需要特殊处理一下a=0的情况,但是数据好像a!=0#include#include#include#include#inclu原创 2015-11-16 10:38:00 · 427 阅读 · 0 评论 -
bzoj 2054 疯狂的馒头
想到了要用一种东西维护下一个没被染色的是什么东西,但是没想到是并查集。这道题就相当于在每一个集合里的数都会跳到一个相同的点,就相当于并查集的代表元素。如果将一个点染色,就把它的父亲设为i+1,这样并查集的代表元素就是下一个没有被染色的点。#include#include#include#include#include#define ll long long#define inf 1e9#defin原创 2015-11-16 10:40:22 · 406 阅读 · 0 评论 -
bzoj 4010 菜肴制作|拓扑排序|priority_queue|解题思想
使编号小的尽量早制作=>反向序列不到万不得已不写小的数=>a早于b就b向a连边,将入度为0的加入优先队列,编号大的优先出队,得出反向序列。反向寻求答案的思想 #include#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8原创 2015-11-16 10:37:01 · 458 阅读 · 0 评论 -
bzoj 3175 攻击装置 | 二分图最大独立集
显然日字是从黑点到白点,所以黑白染色做独立集就行了。注意连边的时候要让它先和位于它下面的点匹配,因为下面的点未匹配的概率更大,dfs的深度也更小。我开始先匹配的上面的点,t了。#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#defi原创 2015-11-16 10:40:01 · 412 阅读 · 0 评论 -
bzoj 3706 反色刷 | 一笔画
首先,对于一个连通子图,如果存在一个方案把所有边都变成白色,这个方案一定可以只经过黑边。然后对于每一个子图,就是小时候玩的一笔画了。一个一笔画存在回到原点的方案当且仅当所有点的度数都是偶数,这样就可以判定可行性,如果可行,答案就是有黑边的极大连通子图个数。#include#include#include#include#include#define md#define ll long long#d原创 2015-11-16 10:39:53 · 652 阅读 · 0 评论 -
bzoj 4152 the camptin (dis[x][y]=min(|x.x-y.x|,|x.y-y.y|),求1,n最短路)
好题。按x排序后,只可能走与它相邻的点,按y同理。挖一个坑,为什么这道题spfa会tle?#include#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 200010using namespace std;stru原创 2015-11-16 10:38:05 · 353 阅读 · 0 评论 -
bzoj 3624 免费道路
第一遍只加水泥路跑kruscal,找出必须修成石子路的。第二遍kruscal把这些修石子路的修好,然后随便修剩下的路,注意随时判断无解的情况#include#include#include#include#include#define md#define ll long long#define inf (int) 1e9#define eps 1e-8#define N 20010#define原创 2015-11-16 10:37:20 · 494 阅读 · 0 评论