自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(61)
  • 问答 (1)
  • 收藏
  • 关注

原创 2018年8月31日训练日记

上午看了第九届山东省ACM的B题,二分+二分图匹配,彻底弄懂。下午在整理D题的时候,发现有的用了树链剖分的思想,于是跟着卿学姐的视频学了dfs序和树链剖分。下面是卿学姐推荐的相关题目:树链剖分详解(洛谷模板 P3384)1.【bzoj4034】[HAOI2015]T22.【bzoj2243】[SDOI2011]染色3.【bzoj1984】月下“毛景树”4.【bzoj3531】[S...

2018-08-31 16:33:39 241

原创 2018年8月29日训练日记

今天上午讲解了网络流的知识,题目还没来得及了解,听得也是一知半解。下午看了第九届山东省的省赛题。明天要全部整理出来。效率很低。明天饶齐博客中网络流的讲解,了解下。...

2018-08-29 21:31:26 169

原创 网络流

1.Edmonds-Karp 最短增广路算法算法的时间复杂度上限为O(n*m^2),(n是顶点数,m是边数)。POJ1273 Drainage Ditches#include<iostream>#include<cstdio>#include<cstring>#include<queue>using namespace std;...

2018-08-29 09:15:51 173

原创 无向连通图求割点和桥

无向连通图中,如果删除某点后,图变成不连通,则称该点为割点。 无向连通图中,如果删除某边后,图变成不连通,则称该边为桥。  

2018-08-27 23:20:43 388

原创 有向图的强连通分量的tarjan算法

此篇文章的整理仅用于学习记录,供日后复习,大部分内容来源于北大郭炜老师整理的课件。有关tarjan算法的一个结论:求几个点的LCA等价于求dfn[]最小的节点和dfn[]最大的这两个节点的LCA.1.POJ2186:Popular Cows题意:给定一个有向图,求有多少顶点是由任何顶点出发都可达的。有用的定理:有向无环图中唯一出度为0的点,一定可以有任何点出发均可达(由于无环,所以...

2018-08-27 20:27:19 431

原创 差分约束专题

详解请点击右侧:夜深人静写算法(四)- 最短路和差分约束差分约束系统其实是最短路的扩展与应用。因为在差分约束系统中一般都存在负值,此时使用的单源最短路径算法一般为SPFA算法。需要说明的是:如果途中存在负权回路,则该差分约束系统不存在可行解,而如果源点到某点如果不存在最短路径,则对于该点所表示的变量可以取任意值,都能满足差分约束系统的要求。差分约束系统的使用难点在于讲实际问题向差分约束...

2018-08-27 11:34:15 323

原创 树上dp入门

树形dp就是把操作放在树上。1. P1352 没有上司的舞会 ——树的最大独立集题意:上司如果参加酒会,下属就不去了。很容易想到上司和员工之间的关系就是父节点与子节点的关系,用boss[i]来存储i的父节点编号。因为编号是1-n的嘛,我们就初始化boss[]为0,然后遍历知道根节点,显然,没有父节点的那个为根节点(boss[i]==0).状态定义:dp[i][0]为i不参加时i和他的下...

2018-08-26 18:54:33 1296 2

原创 Bellman-Ford算法

//Bellman-Ford解决负权边,思想上还是代码实现上都堪称完美的算法for(int i=1;k<=n-1;k++) //最多通过n-1条边,到达其余个点的最短路径的长度 for(int i=1;i<=m;i++) if(dist[v[i]>dist[u[i]]+w[i]) dist[v[i]]=dist[u[i]]+w...

2018-08-25 11:54:28 806

原创 P3386 【模板】二分图匹配

传送门:P3386 【模板】二分图匹配二分图的最大匹配最常用的算法是匈牙利算法,即由增广路求最大匹配。详解请点击右侧链接:趣写算法系列之--匈牙利算法//二分图的最大匹配——匈牙利算法,即由增广路求最大匹配//#define LOCAL#include<iostream>#include<cstdio>#include<cstring>u...

2018-08-24 15:58:53 187

原创 ACM Nanning 2017

比赛的时候,只做出了A,F题,好菜……   A. Abiyoyo 题库链接 (水……) 通过率: 96.74 % 通过人数: 89 #include<iostream>#include<cstdio>using namespace std;int main(){ int t,k; scanf("%d",&t); ...

2018-08-24 10:32:48 582

原创 (树状数组求逆序数)hdu1394 Minimum Inversion Number

传送门:hdu1394 Minimum Inversion Number 题解是摘自书上原话,初次看时,没看懂。悟清楚其原理后,感觉表达得非常清晰。题解:根据逆序对的定义,就是找在它前面比它大的数字的个数的和。此题可以用树状数组来实现,树状数组是可以快速的求出前i项逆序对的和,这个序列已知是从0~n-1的全排列。从序列的第一个梳子开始,假设该数字是3,n=10。即3是第7大的数字,因...

2018-08-23 21:45:11 178

原创 (线段树+离散化)POJ2528 Mayor's posters

传送门:POJ2528 Mayor's posters有时,区间的端点不是整数,或者区间过大而导致建树内存开销过大。这时,我们需要离散化后建树。以下,直接先附上郭炜老师的代码:#include <iostream>#include <algorithm>#include<cstdio>#include <math.h>usi...

2018-08-22 17:23:48 192

原创 2018 Multi-University Training Contest 1

1.hdu6298 Maximum Multiple (思维)题解: n=x+y+z, x∣n, y∣n, z∣n and xyz is maximum ==》x,y,z能被n整除,说明x,y,z都是n的因数,设r=n/x,s=n/y,t=n/z,则n=n/r+n/s+n/t,即1=1/r+1/s+1/t,r*s*t=s*t+r*t+r*s,得到满足此条件的解有三组,如下图所示...

2018-08-21 17:31:19 250

原创 (双向bfs)hdu1401 Solitaire

传送门:hdu1401 Solitaire第一个双向bfs题目,先粘个大佬的代码学习学习:代码:#include<bits/stdc++.h>#define N 100005#define P pair<int,int>using namespace std;typedef long long ll;const int M=1e9+7;const ...

2018-08-18 20:33:18 422

原创 (简单bfs)百练4116:拯救行动

传送门:百练4116:拯救行动题解:因为骑士杀死守卫会耗费时间,所以要用优先队列来维护步数。收获:学会了无参构造方法的使用。代码1:注意用无参构造方法的话,就不能再构造结构体类型的变量啦,例如,Maze tmp;这样的就不可以。#include<iostream>#include<cstdio>#include<queue>#includ...

2018-08-18 19:49:47 699 2

原创 高级搜索(A*)

目录POJ1077Eight 1.直接广搜,超时2.用A*实现搜索——AC POJ1077Eight 1.直接广搜,超时//POJ1077直接广搜超时。。。#include<iostream>#include<cmath>#include<string>#include<map>#include<queu...

2018-08-18 11:12:07 623

原创 POJ1190 生日蛋糕

传送门:POJ1190 生日蛋糕 

2018-08-16 19:40:04 222

原创 (DFS+最优、可行性剪枝)POJ1724 ROADS

传送门:POJ1724 ROADS#include<iostream>#include<cstdio>#include<vector>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;const int maxn=1...

2018-08-16 17:57:07 347

原创 (dfs排列)百练4103:踩方格

传送门:百练4103:踩方格描述有一个方格矩阵,矩阵边界在无穷远处。我们做如下假设:a.    每走一步时,只能从当前方格移动一格,走到某个相邻的方格上;b.    走过的格子立即塌陷无法再走第二次;c.    只能向北、东、西三个方向走;请问:如果允许在方格矩阵上走n步,共有多少种不同的方案。2种走法只要有一步不一样,即被认为是不同的方案。输入允许在方格上行走的步数n(n...

2018-08-16 15:36:04 217

原创 ACM-ICPC 2016 Qingdao Preliminary Contest

 A. I Count Two Three 题库链接 通过率: 85.61 % 通过人数: 113 打表+二分 #include<iostream>#include<cstdio>#include<cstring>#include<set>#include<cmath>using namespace ...

2018-08-16 14:31:55 200

原创 (dfs)百练2815:城堡问题

传送门:百练2815:城堡问题描述 1 2 3 4 5 6 7 ############################# 1 # | # | # | | # #####---#####---#---#####---# 2 # # | # # # # # #---#####-...

2018-08-15 19:11:12 212

原创 第3章 数组和字符串——算法竞赛入门经典

1.!的使用:2.蛇形填数 (P40)#include<iostream>#include<cstdio>#include<cstring>using namespace std;#define maxn 20int a[maxn][maxn];int main(){ int n,x,y,tot; scanf("%d...

2018-08-15 15:48:20 117

原创 第2章 循环结构程序设计——算法竞赛入门经典

前言:循环结构程序设计中最常见的两个问题:算术运算溢出和程序效率低下。目录例题2-1:7744问题——如何判断n是否为完全平方数(P20)例题2-2:3n+1问题——注意不要溢出,int范围2e9+    (P22)例题2-3:近似计算  (P24)例题2-4:阶乘之和 (P25)例题2-5 数据统计 (P27)1.在Windows下,输入完毕后先按Enter键,再按C...

2018-08-15 10:53:54 694

原创 (DP)POJ1390 Blocks

传送门:(DP)POJ1390 BlocksDP看不下去了,先附上郭炜老师的代码#include<iostream>#include<cstring>using namespace std;const int M=210;struct Segment{ int color; int len;};Segment segments[M];...

2018-08-13 17:09:56 212

原创 (DP)百练1088:滑雪

百练1088:滑雪描述Michael喜欢滑雪百这并不奇怪, 因为滑雪的确很刺激。可是为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你。Michael想知道载一个区域中最长的滑坡。区域由一个二维数组给出。数组的每个数字代表点的高度。下面是一个例子 1 2 3 4 516 17 18 19 615 24 25 20 714 23 2...

2018-08-13 15:23:24 231

原创 P51 挑战程序设计——0-1背包问题

0-1背包问题:下面的递推关于i的循环是逆向进行的。反之,如果将d[i+1][j]定义成从0到i这i+1个物品中选出总重量不超过j的物品时总价值的最大值的话,关于i的循环就能正向进行。普通搜索:#include<iostream>#include<cmath>using namespace std;int n,w;int w1[110],v[110];...

2018-08-13 14:43:18 291

原创 (deque)度度熊学队列

 Sample Input2 101 1 1 231 1 0 2332 1 1 1 2 1 23331 2 1 233333 1 2 12 2 02 1 12 1 02 1 1Sample Output23-1233323323333提示由于读入过大,C/C++ 选手建议使用读入优化。一个简单的例子:void read(int &...

2018-08-12 16:52:55 213

原创 (贪心)度度熊拼三角

               Sample Input31 1 10071 9 9 90 2 2 4Sample Output-122#include<iostream>#include<cstdio>#include<algorithm>#include<...

2018-08-12 16:49:04 277

原创 (0-1背包问题)POJ3624 Charm Bracelet

传送门:POJ3624 Charm BraceletP51 挑战程序设计——0-1背包问题引述郭炜老师课件中的话如下:0-1背包问题:有N件物品和一个容积为M的背包。第i件物品的体积w[i],价值是d[i]。求解将哪些物品可使价值总和最大。每件物品只有一件,可以选择放或者不放。(N<=3500,M<=13000).用F[i][j]表示取前i种物品,使它们总体积不超过j...

2018-08-12 16:34:54 283

原创 queue双端队列容器

STL提供三种类型的组件:容器、迭代器和算法。容器主要有两类:顺序容器和关联容器。顺序容器(vector、list、deque和string等)是一系列元素的有序集合。关联容器(set、multiset、map和multimap)包含查找元素的键值。迭代器的作用是遍历容器。STL算法库包含四类算法:排序算法、不可变序算法、变序性算法和数值算法。

2018-08-11 17:49:25 407

原创 2755:神奇的口袋

传送门:2755:神奇的口袋描述有一个神奇的口袋,总的容积是40,用这个口袋可以变出一些物品,这些物品的总体积必须是40。John现在有n个想要得到的物品,每个物品的体积分别是a1,a2……an。John可以从这些物品中选择一些,如果选出的物体的总体积是40,那么利用这个神奇的口袋,John就可以得到这些物品。现在的问题是,John有多少种不同的选择物品的方式。输入输入的第一行是正...

2018-08-11 12:19:53 302

原创 (注意大数模拟)最佳加法表达式

传送门:最佳加法表达式11:最佳加法表达式描述给定n个1到9的数字,要求在数字之间摆放m个加号(加号两边必须有数字),使得所得到的加法表达式的值最小,并输出该值。例如,在1234中摆放1个加号,最好的摆法就是12+34,和为36输入有不超过15组数据每组数据两行。第一行是整数m,表示有m个加号要放( 0<=m<=50)第二行是若干个数字。数字总数n不超过50,且...

2018-08-11 12:13:17 662 1

原创 动态规划入门

引例:楼梯有n个台阶,上楼可以一步上1阶,也可以一步2阶,一共有多少种上楼的方法?解:f(1)=1,       f(2)=2,       f(n)=f(n-1)+f(n-2).      1.记忆化数组——避免重复计算;      2.递归定义——>递归公式    思路:先走一步,看剩下的。    递推公式: 初值:递归出口;                      ...

2018-08-10 19:52:16 135

原创 (区间更新lazy)POJ3468 A Simple Problem with Integers

传送门:(区间更新lazy)POJ3468 A Simple Problem with Integers模板题。代码:#include<iostream>#include<cstdio>using namespace std;const int maxn=1e5+10;int a[maxn];typedef long long ll;struct...

2018-08-09 10:01:12 123

原创 ACM-ICPC 2015 Changchun Preliminary Contest

这次比赛的题目偏简单,但是对一些知识点确实是生疏了,平时还需注重复习。目录 A. Alisha's Party 题库链接 B. Ponds 题库链接 C. Aggregated Counting 题库链接 D. Clock Adjusting 题库链接 E. Travel 题库链接 F. Favorite Donut 题库链接 G. The Water Prob...

2018-08-08 19:21:30 558

原创 (二分、分治、贪心)北大暑期练习题

目录01:派(二分——最大化最小值)02:河中跳房子(二分——最大化最小值)07:求排列的逆序数(分治)08:输出前k大的数(分治)4110:圣诞老人的礼物-Santa Clau’s Gifts(贪心)4151:电影节(贪心)POJ3190 Stall Reservations (贪心+优先队列)01:派(二分——最大化最小值)描述我的生日要到了!根据习俗,...

2018-08-06 15:25:10 997

原创 (tarjan求强连通)UOJ#146. 【NOIP2015】信息传递

tarjan详解UOJ#146. 【NOIP2015】信息传递对于tarjan中的横叉边和树枝边更新有疑惑的话,看着代码走一遍下边的流程,相信你也会豁然开朗的?!#include<iostream>#include<cstdio>#include<vector> #include<stack>using namespace ...

2018-08-04 10:35:56 151

原创 ACM Greater New York 2017

 A. Chanukah Challenge 题库链接 通过率: 99.38 % 通过人数: 161 简单签到题,去旅行点蜡烛,第一天点一根蜡烛,第二天点两根蜡烛,第三天点三根蜡烛,以此类推。另外每天还需要一根引火的蜡烛。 #include<iostream>#include<cstdio>#include<cmath>usin...

2018-08-03 22:40:49 441

原创 2014年百度之星程序设计大赛 - 资格赛

4823 Energy Conversion   2014年百度之星程序设计大赛 - 资格赛 (698/1709)40.84% 4824 Disk Schedule   2014年百度之星程序设计大赛 - 资格赛 (305/722)42.24% 4825 Xor Sum   2014年百度之星程序设计大赛 - 资格赛 ...

2018-08-03 22:03:30 230

原创 2016"百度之星" - 资格赛(Astar Round1)

5685 Problem A   2016"百度之星" - 资格赛(Astar Round1) (976/2207)44.22%  5686 Problem B   2016"百度之星" - 资格赛(Astar Round1) (651/1589)40.97%  5687 Problem C   2016"百度之星"...

2018-08-03 22:00:01 194

空空如也

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

TA关注的人

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