自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (1)
  • 收藏
  • 关注

原创 热爱工作的蒜蒜(带限制最短路)

众所周知,蒜蒜是一名热爱工作的好员工,他觉得时间就是金钱,做事情总是争分夺秒。这天晚上,蒜蒜一个人去吃晚饭。不巧的是,吃完饭以后就开始下雨了,蒜蒜并没有带雨伞出来。但是蒜蒜热爱工作,工作使他快乐,他要尽快赶回去写代码。蒜蒜的公司在中关村,中关村这边地形复杂,有很多天桥、地下通道和马路交错在一起。其中,地下通道是可以避雨的,天桥和马路都没办法避。可以把中关村抽象成为 nnn 个点的地

2017-10-25 21:05:19 336

原创 uvalive5713(次小生成树)

先求出最小生成树,然后n^2枚举两个点,在两个点之间连一条边,就形成了一个环,然后求出两点间人数的和除以那个环在树上的边的最大边,更新最大值.求最大权值边可以用熟练剖分.复杂度n^2logn.#include #include #include #include#include using namespace std;#define Del(a,b) memset(a,b,size

2017-10-22 11:36:43 290

原创 vijos1412(第k优背包)

求第K优的背包.然后选前K大的价值求和/************************************************************************* > File Name: vijos1059.cpp > Author: > Mail: > Created Time: 2017年10月16日 星期一 10时33分45秒 **********

2017-10-16 11:31:44 242

原创 vijos1843(货车运输)

每个货车可以运输的最大货物量就是起点到终点的某一条路径上的最小权值,为了使运输量最大,那就是选一条路使得这条路上的最小权值边最大。于是想到最大生成树,然后就是树上查询两点之间路径上的最小值,熟练剖分可以解。#include #include #include #include using namespace std;#define Del(a,b) memset(a,b,size

2017-10-14 19:43:28 335 1

原创 poj3867(2-sat)

题目大意:                 给了N个点和M条边,每个点的权值可以是0可以是1,M条边有一个边权和一个操作,问是否存在一个点权赋值方式,满足m条边的两个端点的权值通过该边的操作和该边的权值相等。挑战上经典的2-sat问题。列出一个真值表,看着建图就行了。#include#include#include#includeusing namespace std;con

2017-10-11 19:38:29 247

原创 hdu3622(二分&2-sat)

二分答案,若距离冲突(dist【i】【j】代码来自匡斌/*HDU 3622题意:给n对炸弹可以放置的位置(每个位置为一个二维平面上的点),每次放置炸弹是时只能选择这一对中的其中一个点,每个炸弹爆炸的范围半径都一样,控制爆炸的半径使得所有的爆炸范围都不相交(可以相切),求解这个最大半径. 首先二分最大半径值,然后2-sat构图判断其可行性,对于每 两队位置(u,

2017-10-09 20:55:46 202

原创 codeforces730J(费用流)

每个人与源点连一条边,流量是1,费用为0.每个人与编程队那个点连一条边,流量是p,费用为-a[i];每个人与运动队那个点连一条边,流量是s,费用为-b[i];编程队与运动队向汇点连一条边,流量分别为,p,s。费用为0;最大值就是 最小费用的取反。然后遍历边数组,流量不为0 的边并且起点是1-n的,终点是运动队就是运动队的人,是编程队就是编程队的人。#include#inc

2017-10-09 16:49:58 322

原创 codeforces 869E(哈希&二维树状数组)

把每个子矩阵哈希一下,增加操作就是树状数组加,删除就是减,然后判断连通时就是判断两个点的hash值是否相等。#include#include#include#includeusing namespace std;int n,m,q;long long tree[2505][2505];typedef pair P;map,long long>mp;int lowbit(int

2017-10-09 16:46:34 353

原创 poj3169(差分约束系统)

题目大意:一些母牛按序号排成一条直线。有两种要求,A和B距离不得超过X,还有一种是C和D距离不得少于Y,问可能的最大距离。如果没有输出-1,如果可以随便排输出-2,否则输出最大的距离。推出公式:b-a然后spfa#include#include#include#includeusing namespace std;int n;const int maxn = 1000+

2017-10-09 12:23:52 229

原创 poj1724(带限制的最短路)

题意:一个人要从1点到N点,有m条边可以走,走每条边要花一些钱,这个人只有k的钱,问花的钱不多于K且能到N的最短路。spfa解决最短路,不过dist数组要加一维,dist【i】【j】表示从1走到了i花了j钱的最短路。感觉这时候就是个bfs#include#include#include#includeusing namespace std;int n,k;struct no

2017-10-08 19:52:10 1710

原创 hdu5242(贪心&记忆化搜索)

先跑一遍dfs处理出每个点到跟能获得的最大值。然后按照这个值排序,按照这个顺序再去跑第二遍dfs算出这个点 到跟的价值,用过的点直接返回0,把结果保存在数组里,再次排序,取前K个就是答案。#include#include#include#includeusing namespace std;const int maxn = 100000+10;vectorG[maxn];stru

2017-10-02 17:21:18 270

原创 hdu5543(01背包)

带限制条件的01背包dp【i】【k】表示i体积是放在漏出的金条的个数为k时获得的最大价值。#include#include#includeusing namespace std;typedef long long ll;const int maxn = 1000+10;int vo[maxn],va[maxn];ll dp[maxn*4][3];int main(){

2017-10-01 10:24:07 329

MFC程序设计-画图板

用vs,用已有代码生成工程既可用。这是我大二的c++大作业,支持画矩形,直线,圆,和铅笔。矩形可以移动,变大变小,屏幕刷新后,图像可保存。无文件操作

2017-07-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除