- 博客(21)
- 收藏
- 关注
原创 |洛谷|并查集|P3144 [USACO16OPEN]关闭农场Closing the Farm
https://www.luogu.org/problem/show?pid=3144可以考虑从询问反过来加边,注意加的边一定要两个顶点都存在#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;struct ed{ int x,y;}edge[3
2016-10-30 18:31:32 328
原创 |洛谷|图论生成树|P1396 营救
https://www.luogu.org/problem/show?pid=1396简单Kruskal模板题#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;struct ed{ int x,y,v;}edge[20005];bool cm
2016-10-30 16:54:51 358
原创 |洛谷|NOIP2015|堆|P2672 推销员
https://www.luogu.org/problem/show?pid=2672开两个大根堆,一个维护小于当前走的最远距离的住户,一个维护大于当前走的最远距离的住户#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int n; struct
2016-10-29 14:20:09 382
原创 |洛谷|堆|P3045 [USACO12FEB]牛券Cow Coupons
https://www.luogu.org/problem/show?pid=3045把c作为关键字放入一个小根堆,在堆里买k个牛,然后再把这个小根堆里的牛放到另一个以p作为关键字的小根堆,买牛直到没钱注意m要long long#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using
2016-10-28 22:46:02 777
原创 |洛谷|堆|P1631 序列合并
https://www.luogu.org/problem/show?pid=1631在lrj的蓝书上有详细介绍#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int n;int A[100005], B[100005];struct node
2016-10-28 22:43:02 432
原创 |洛谷|堆|P1334 瑞瑞的木板
https://www.luogu.org/problem/show?pid=1334类似合并果子,注意要用long long#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int n;priority_queue, greater > p;i
2016-10-28 17:57:09 506
原创 |洛谷|堆|P1168 中位数
https://www.luogu.org/problem/show?pid=1168维护两个堆,一个大根堆L维护小于等于mid的数,一个小根堆R维护大于等于mid的数,mid是上次输出的中位数然后进行调整即可#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespac
2016-10-28 17:08:06 285
原创 |洛谷|图论生成树|P1111 修复公路
https://www.luogu.org/problem/show?pid=1111模板题,复习kruskal+并查集#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;const int maxN = 1005, maxM = 100005;int n,m;in
2016-10-14 22:03:00 476
原创 |洛谷|NOIP2010|搜索|P1378 油滴扩展
https://www.luogu.org/problem/show?pid=1378比较简单,不过写错两个地方调了很久。。具体看代码#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;const double pi = 3.1415926535;i
2016-10-12 21:58:57 354
原创 |洛谷|NOIP2010|搜索|贪心|P1514 引水入城
https://www.luogu.org/problem/show?pid=1514从第一行开始DFS搜索,注意如果旁边同行的高度大于这个,就不用搜索这个,因为如果有比这个高的,那么那个高的一定会流到这个格子如果有解,就在最后一行形成了几条线段然后区间覆盖问题即可#include#include#include#include#define ms(i,j) memset(
2016-10-09 18:50:43 307
原创 |洛谷|NOIP2004|搜索|P1092 虫食算
https://www.luogu.org/problem/show?pid=1092这道搜索折腾我好久。。结果还是TLE一个点。。从后往前搜索,从上往下搜索很多剪枝不一一说了看代码吧90分代码#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace st
2016-10-06 21:56:13 381
原创 |洛谷|NOI导刊|堆|黑匣子_NOI导刊2010提高(06)
http://www.luogu.org/problem/show?pid=1801开两个堆,一个大根堆维护1~i-1小元素,一个小根堆维护i~n小元素添加元素时,如果元素小于大根堆堆顶,那么把大根堆堆顶出堆,将此元素加入大根堆否则将元素加入小根堆查询值即为小根堆顶,查询完后将小根堆顶加入大根堆#include#include#include#include#defin
2016-10-04 18:04:44 641
原创 |洛谷|NOIP2006|模拟|P1062 数列
3^0,3^1,3^0+3^1,3^2,3^0+3^2,3^1+3^2,3^0+3^1+3^2把i转化为2进制,i为第几项数对应于上面1 10 11 100 101 110 111找到规律,把n转为2进制即可解决#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using n
2016-10-04 16:21:21 493 1
原创 |洛谷|NOIP2014|模拟|P1328 生活大爆炸版石头剪刀布
http://www.luogu.org/problem/show?pid=1328直接模拟,弄一个邻接矩阵#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int G[10][10] = { { 0,-1, 1, 1,-1}, { 1, 0
2016-10-04 15:54:14 596
原创 |洛谷|NOIP2013|贪心|P1969 积木大赛
http://www.luogu.org/problem/show?pid=1969如果当前积木高度大于前面的积木高度,说明这块积木要比前面那块积木多操作高出的高度次,而小于等于前面的积木高度,则可以在前面的操作中达到标准#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using name
2016-10-04 15:31:54 1278
原创 |洛谷|NOIP2007|动态规划|P1095 守望者的逃离
http://www.luogu.org/problem/show?pid=1095第一次循环让守望者只能闪烁,然后第二次循环让守望者只能跑步,比较两次的长短即可#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int f[300005];int
2016-10-03 23:10:30 529
原创 |洛谷|模拟|P1203 [USACO1.1]坏掉的项链Broken Necklace
http://www.luogu.org/problem/show?pid=1203按题意模拟即可#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;char ch[1000];int main(){ int n; scanf("%d\n",
2016-10-03 14:56:00 768
原创 |洛谷|贪心|P1478 陶陶摘苹果(升级版)
http://www.luogu.org/problem/show?pid=1478和05年的NOIP的原题一样水,直接贪心,不需要做01背包#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int y[5005];int main(){ in
2016-10-03 11:26:40 2009
原创 |洛谷|动态规划|P1156 垃圾陷阱
http://www.luogu.org/problem/show?pid=1156用布尔数组f[i][j]表示高度为i时体力值为j时的状态存在然后DP即可#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;struct ab{ int t;
2016-10-03 11:11:29 731
原创 |洛谷|DFS|P1118 [USACO06FEB]数字三角形Backward Digit Su…
http://www.luogu.org/problem/show?pid=1118每个数用的次数构成杨辉三角,用的次数i*排列i的所有和等于sum就行#include#include#include#include#define ms(i,j) memset(i,j, sizeof i);using namespace std;int c[20][20];int a[2
2016-10-02 23:31:46 733
原创 |洛谷|NOIP2006|动态规划|P1063 能量项链
http://www.luogu.org/problem/show?pid=1063类似于合并石子,只不过这里是环形的,只需要把a数组复制一遍,然后对[1..2n]区间进行DP,注意要逆推,答案是max{[1..n], [2..n+1], [3..n+2]....[n,n+n-1]}#include#include#include#include#define ms(i,j) me
2016-10-02 14:37:16 431
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人