自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

编程路漫漫

事事我曾努力,成败何须怨我。

  • 博客(18)
  • 收藏
  • 关注

原创 HDU 1045 fire net 二分图匹配

http://acm.hdu.edu.cn/showproblem.php?pid=1045题意:类似于八皇后,但是如果中间有墙隔开的话,皇后是可以放在一列或一行的。题解:竖着看,将一列中连在一起的格子看成一个点,这些点就是X集。然后横着看按行缩点,这些点就是Y集。如果一行格子与一列格子相交了,那么这两个点相连。求最大匹配就可以了。代码:#include <iostream...

2018-07-29 18:54:08 118

原创 codeforces 766 D Mahmoud and a Dictionary 并查集

http://codeforces.com/problemset/problem/766/D题解:加权并查集代码:#include <iostream>#include<cstdio>#include<cstring>#include<map>#include<cstring>using namespace std...

2018-07-28 17:27:19 133

原创 Gym 101521 A Shuttle Bus

http://codeforces.com/gym/101521/problem/A题意:2*n的棋盘,有m个格子不能经过,问能否一笔画。题解:棋盘很大,不能直接用矩阵模拟。用数组存下每一个不能经过的坐标,按照横坐标排序。先检查有没有发生直接堵死的情况,注意如果是最后一列或者最后几列一起被堵死了,就相当于棋盘缩短了,不影响一笔画。所以从横坐标从大到小遍历,第n列被堵死就n--。如果...

2018-07-28 17:19:05 248

原创 HDU 1083 Courses 二分图匹配 匈牙利算法模板

http://acm.hdu.edu.cn/showproblem.php?pid=1083题意:有n个学生,p个课程,现在要给每个课程配一个课代表(不能兼任),问能否达成。题解:二分图匹配代码#include <iostream>#include<cstdio>#include<cstring>#define inf 0x3f3f3f3...

2018-07-28 16:59:16 129

原创 uva 11733 Airports 最小生成树

https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2833题意:n个城市,可以在城市建机场,也可以建道路,要让每个城市都拥有一个机场或者通过道路与有机场的城市相连 求最小花费。题解:假想一个0号城市,在i城市建立机场就等效于在...

2018-07-26 16:28:46 235

原创 HDU 2962 trucking dijksra 最小生成树

题意:车从指定起点开到指定起点,每条道路除了长度外还有限高。求在一条连接起点终点路线,首先这条路线的组成道路的最低高度尽可能大,然后路线最短。题解:先用最小生成树求第一个条件,将边从大到小排序,按顺序加入,每次检查起点终点有没有被连起来,如果被连起来了,那么刚加入的就是这个路线的最低高度,而且这个最低高度是尽可能大的。然后用dijk就可以了。代码:#include <iostr...

2018-07-25 22:57:13 169

原创 Codeforces1008 C Reorder the Array 贪心

https://cn.vjudge.net/contest/240521#problem/D题意:一个数列,改变顺序,新的顺序中每有一个位置的新元素大于原来元素就加一分,求通过改变顺序能得到的最大分数。题解:贪心,肯定是选取比该元素大的元素中最小的去放。本来是打算用并查集优化的,结果发现直接用一个指针指着就行了……#include<iostream>#include&l...

2018-07-23 21:41:10 214

原创 Codeforces 556 C Restructuring Company 并查集

https://cn.vjudge.net/contest/240521#problem/C题意:三种操作:将a和b放入一个并查集。 将区间内的所有元素放入一个并查集。 询问a和b是不是在一个并查集内题解:1,3很简单,难点在于2;一个一个合并肯定是超时。所以要想办法优化。n个元素,如果一个区间一个区间得合并,肯定很快就大部分就在一个区间里了。所以用数组nex[i]表示i元素...

2018-07-23 21:28:23 179

原创 Codeforces 304 Soldier and Cards

https://cn.vjudge.net/contest/240521#problem/A题意:两个人玩纸牌,每个回合两人拿出牌堆顶的牌,比较大小,较大一方将对方的牌放入自己牌堆底之后,再把自己刚打出的牌放入牌堆底。谁牌堆空了谁就输了。题解:用队列模拟,关键是判重,我用的是map,但是注意要先检查牌堆有没有空,再用map查重。代码:#include <iostream&g...

2018-07-23 15:11:09 118

原创 openJ_POJ 1009 A Lost Widget

http://poj.openjudge.cn/practice/1009?lang=en_US题意:背包问题。count(i,j)表示不用i号物品装满j容量背包的方法数。打表输出所有的count(i,j)的个位。题解:先用常规的背包,dp[i][j]表示使用前i号物品装满j背包的方法数,转移方程为:然后用f[i][j]表示count(i,j)。如果a[i]>j,那么,因为本来就...

2018-07-23 11:51:48 136

原创 B. Jzzhu and Sequences

https://cn.vjudge.net/contest/240161#problem/B一开始是想用矩阵快速幂,但是手算了一下,发现是周期数组:1 2 3 4 5 6 7 8 x y y-x -x -y x-y x y 然后就是注意负数的取模了#include <iostream&g...

2018-07-22 17:32:36 249

原创 HDU 1242 Rescue BFS

题意:有几个旁友找小爱,走有守卫的格子相当于走两格,求找到小爱最少格子数。题解:一开始我没有考虑异步的问题,这就导致有可能必须搜完全图才能得到答案。队列改成优先队列,每次都让步数少的优先出队就阔以了。#include <iostream>#include<cstdio>#include<queue>#include<cstring&gt...

2018-07-22 15:55:54 120

原创 POJ 2367 HDU 1285 拓扑排序模板

http://poj.org/problem?id=2367题意:一个关系比较混乱的部落,输出按照辈分排序输出。题解:拓扑排序裸题;拓扑排序三步:1.选取没有前驱的节点输出2.删去这个节点出发的边(也就是终点入度-1)3.重复1,2。直到所有点输出完毕,或者剩下的点都有前驱为止。(若剩下的点都有前驱则有环);代码:#include <iostream>...

2018-07-17 13:46:02 135

原创 POJ 1751 最小生成树

题意:给一个坐标图,求最小生成树。题解:题目比较裸。注意节点的序号#include <iostream>#include<cstdio>#include<algorithm>#include<queue>using namespace std;int px[755],py[755];int n,m,tot;struct no...

2018-07-16 18:12:19 179

原创 POJ 1011 搜索剪枝

题意:给一堆木棒,这些木棒是由几根长度相同的长木棒厥断而成的,求最短的长木棒长度能厥成这些短的木棒。题解:   所求长度肯定介于最长木棒和木棒之和中间,并且可以整除木棒之和。于是穷举所有可能的值,选中一个值之后,用dfs给木棒寻找组合,能找到就输出。  直接dfs会超时,所以需要剪枝。可以先排序,这样相同的木棒就聚在了一起,对于相同的木棒,只要这一长度的第一个木棒没被用,那么这些木棒都一定是不可以...

2018-07-16 11:29:14 129

原创 POJ 2976 Dropping tests 二分

点击打开链接题意:求最大平均题解:二分答案。#include <iostream>#include<cstdio>#include<algorithm>using namespace std;int a[1005],b[1005];double c[1005];int n,k;double sum;int cmp(double x,double ...

2018-07-15 17:04:51 132

原创 POJ 3159 Candies spfa

点击打开链接题意:就是裸的的差分约束。题解:因为差分方向固定,所以只有正权,可以用dijkstra,但是要用队列优化。我用的是spfa和栈。这里学习了存边迭代的spfa。add函数里面的tot是边的编号。head[i]表示当前最新的从i发出的边的编号(对于起始点就是-1),每加入一条边这条边的起点的head也更新。edge的next指向加入这条边时的起点的head。遍历...

2018-07-15 14:47:26 126

原创 POJ 3259 Wormholes floyd

点击打开链接题意:一个图,有权值为正的双向边和权值为负的单向边,寻找负环。题解:floyd,检查的时候看mp[i][i]是不是有负的。注意这里要放在第二层循环里面检查检查出来就返回,因为放在第一层不能检查所有的mp[i][i],放在第三层浪费了计算。三层循环之后,另起一个循环检查就得每次都跑完三层循环,也会超时。#include<cstdio>#include<iostream...

2018-07-14 10:54:38 113

空空如也

空空如也

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

TA关注的人

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