自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Sd_Invol的专栏

New blog: Sd-invol.github.io/

  • 博客(39)
  • 资源 (1)
  • 收藏
  • 关注

原创 BUAA Training 2014.03.29 Fukuoka-2011

题目真的都不错但是训练的时候结果不怎么好..A切掉迅速干掉BDF三个简单题后在E,G,J间玩了三个小时泥巴……以后这样真不好啊。。http://acm.hust.edu.cn/vjudge/contest/view.action?cid=42606#overviewA:略B:一个甜甜圈上有字符,从每个字符出发8个方向走能得到一堆字符串,求出现次数>1的最长串

2014-03-30 19:57:21 1267 1

原创 BUAA Training 2014.03.06

为了缓解一下的焦躁情绪以及看了看有些强队每次训练都会写点总结琢磨琢磨自己也写写好了,20天前的训练可以当回忆录写……http://acm.hust.edu.cn/vjudge/contest/view.action?cid=41176#overview开场后看题顺序之前都订好了,金爷在看A随便翻了一下看到了C的图,画了画样例猜了题意就扑上去写,期间让他们也看这个

2014-03-26 22:46:53 809

原创 寒假训练的小总结

在过完年的时候在HUST的vjudge上开了几份小型的训练专题可以再Contest里面搜索"BUAA"进入,现在把这些训练在这里小小的总结一下。第一弹:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=40319#overview作为最初的一套,选择的是我刚接触Codeforces时还在打Div2,有些坑着没有看也没有做

2014-02-15 03:01:07 1072

原创 关于实时开节点的可持久化线段树及区间/树链第K大值

又扯回这道经典的Dynamic Ranking了:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1901一、树套树之前写过,挺慢的,也挺长的。二、树状数组套权值线段树如果没有修改,可以直接开n棵权值线段树,每一棵线段树都是在前一棵的基础上只修改一位。每一棵线段树也都是每一个前缀所代表的“权

2014-02-05 22:57:36 1140

原创 ZOJ3733 Skycity

#include #include #include #include #include using namespace std;typedef long long LL;int R , r , H , F , S;double radius , ans , height , dr , pi = acos(-1.);double check(){ int top = 3

2013-11-24 21:50:57 1998 1

原创 ZOJ3734 LIKE vs CANDLE

这题……今天在完全搞清楚题意的情况和现场被这题的题意卡的后半场不能自理的情况比较一下,还是觉得经验太少了……一棵点带权有根树,权可正可负,每次可以以X的代价让某个子树翻转。但在之前已经有些子树被翻转过了,再翻回来需要Y的代价而不是X。求怎么操作能让总权值最大?状态很简单就是f[x][0/1]代表x这个节点有没有被翻过(0或1)的最大价值。很明显f[x][i]

2013-11-24 21:41:40 2101 6

原创 2013 Asia Hangzhou Regional Contest hdu4780 Candy Factory

现场赛这题就看了一眼就再没多想了,被别的题卡住的时候就更没心思想了,比较可惜。模型一眼就是费用流,主要是题意的理解和构图方式。首先机器的区别只在于一开始做每个糖果的花费和时间不同,除此之外没有任何区别。每个糖果生产完毕的时间也是确定的(Ti),所以某机器生产完一个糖果又生产另一个糖果的花费也是确定的。所以时间的意义只在于计算费用而已啦……构图就比较清晰了:从

2013-11-13 15:46:11 1547

原创 2013 ACM/ICPC Asia Regional Changsha Online - I Grand Prix

离正解非常非常接近就差一步的感觉真让人忧伤_(:3」∠)_先bia代码……题解起床写#include #include #include #include #include #include #include #include #include #include #include #include #include #define pb push_ba

2013-09-23 00:14:40 1642

原创 hdu4757 Tree

可持久化Trie,比赛的时候一直在想不到怎么样才可以做减法,赛后才想清楚。首先异或最大就是在字典数上找它的按位取反,首先满足高位。维护Trie的时候同时维护一下子树的叶子节点和,这样就可以做一个减法了,如果某棵子树没有叶子节点就意味着不能走。#include #include #include #include #include #include #includ

2013-09-21 20:15:52 2909

原创 2011 Asia Fuzhou Regional Contest

11年的福州题目质量都好高,选了5道最简单的来做……hdu4121 Xiangqi直接枚举将下一步怎么走,然后看会不会被将死。把帅当只能垂直行动的车看。有一个点没考虑到,就是将走这一步正好能吃掉红色一个子,后来发现判断是否将死的时候已经处理了这种情况。代码比较长,一气呵成1Y#include #include #include #include #inclu

2013-09-14 10:52:40 976

原创 2012 Asia Hangzhou/Jinhua Regional Contest

hdu4453 Looploop好题……虽然有一系列区间翻转区间求和等等平衡树才能玩得起的操作,但翻转的长度和增加的长度都是固定的。而且题目中给了各种的条件,比如k1开3个双端队列,第一个存指针后1~k1,第二个存k1+1~k2,第三个存剩下的数字。那么对于区间翻转和区间求和,只需要修改两个deque的标记。插入和删除也是只要修改第一个双端队列的头或尾,并且维护后两个队

2013-09-11 17:39:49 990

原创 2012 Asia Tianjin Regional Contest

hdu4431 Mahjong日麻XD枚举/模拟,之前用一个桶来装牌来搜索结果一直TLE,后来改了一种更直接的搜索方法就可以AC了。#include #include #include #include #include #include #include #include #include #include #include #include #include

2013-09-08 21:58:05 1204

原创 2010 Asia Hangzhou/Fuzhou Regional Contest

hdu3681 Prison Break二分+状压DP...因为懒得写dx和dy导致BFS完全写错...过了样例查不出错 = = 怒而重写BFS就过了,虽然还是没有写dxdy#include #include #include #include #include #include #include #include #include #include #incl

2013-09-07 02:31:22 989

原创 2012 Asia ChangChun Regional Contest

hdu4421 Bit Magic2-SAT,也可以根据异或的关系用并查集直接把解求出来,然后判定是否满足与或非的限制。还是2-SAT写起来爽……#include #include #include #include #include #include #include #include #include #include #include #include #

2013-09-07 01:58:43 827

转载 可以区间修改区间查询的树状数组云云

一维区间异或:XOR(a , b , c) =>  XOR(1 , a - 1 , c) , XOR(1 , b , c)QUERY(a , b) => QUERY(1 , a - 1) ^ QUERY(1 , b)设一个XOR操作为XOR(1 , L , D)则对于一个询问QUERY(1 , k)当L 贡献答案为 (L & 1) ? D : 0 // L * D

2013-09-01 03:50:52 747

原创 Shanghai 2004 Preliminary

有一段时间没有更新博客了。。就简单记录一套比较简单的题目的题解吧。。POJ2078~POJ2085http://poj.org/searchproblem?field=source&key=Shanghai+2004+PreliminaryPOJ2078一个矩阵,可以将每一行随意转动,求每一列权值和最大值的最小值。直接7^7搜索,要加最优性剪枝,不然会TLE。

2013-08-28 03:26:29 1450

原创 hdu 4674 Trip Advisor

昨天比赛的所有价值都展现在这道题上了……给一个无向图,保证每个图都只在一个简单环上,每次询问是否存在一条从x到y且要经过z的路径,每个点只能走一次。因为图的特殊性质,可以把每个环缩点,这样原图就可以变成森林,在森林里用LCA询问从x到y的路径上是否经过z,好像就搞定了?……因为每个点只能走一次,所以有很多种情况是No……诸如这样的……所以

2013-08-14 14:34:14 899

原创 hdu4582 DFS spanning tree

给定一个无向图,求出它的DFS生成树。非树边与树边会构成环,现在选择树上的最少的边数,使得每一个环都至少有一条边被选中。一个环对应的就是树上的一条路径,因为DFS树的性质这条路径只可能是从一个节点出发连向它的儿子。所以问题就转化成了给定树上的一些简单链,给树上的边染黑白两色,使得每条给定的链上都至少有一条黑边,求最小黑边数量。假如树是一条长链,则每一个链对应的就是一

2013-08-14 14:21:41 2487 1

原创 2013多校联合训练第五场

。。。被05卡了全场06 保存前缀和的模m值,对于每一个值找它第一次出现的地方即可。const int N = 1e5 + 5;int n , m , a[N];int s[N] , p[N];int main(){ int i , j; while (~scanf("%d%d",&n,&m)) { for (i = 1 ; i <= n ; ++

2013-08-06 18:12:56 1011

原创 2013多校联合训练第四场

A求一个字符串的回文子序列个数很直观的DP但一开始看着这个题目愣了好久…… scanf("%s" , s + 1); n = strlen(s + 1); memset(f , 0 , sizeof(f)); for (i = 1 ; i <= n ; ++ i) f[i][i] = 1; for (k = 2 ; k <= n ; ++ k) { for

2013-08-01 19:33:57 1153 6

原创 2013多校联合训练第三场

倒着慢慢总结一下吧……A一个非常明显的最小割模型,但是需要让一个点向一个矩阵里面的所有点连边,直接连是一定会爆空间/时间的。所以需要把这个矩阵倍增划分,比较像做RMQ的ST表或者二维线段树。比如一个2x2的矩阵就要划分为这个样子:这样划分的话可以把一个点向一个矩阵里面的所有点连边转化为只向至多4个点连边,就可以解决这个题目了。点数是O(n^2log^2n+Q

2013-07-31 20:54:16 1143 2

原创 poj2773 Happy 2006 二分+容斥

求第K个与M互质的数#include #include #include #include #include #include #include #define N 10005typedef long long LL;using namespace std;int n , K , f[128] , s , a[128] , cnt[128];void init(

2013-07-29 09:52:52 882

原创 poj3074 & 3076 数独 Dancing Links

今天早上又在poj看到一个数独题,粘了以前的爆搜T了,就翻出了以前写的4阶数独改了改DancingLinks就是快3074  三阶版#include #include #include #include #include #include #include #include #include #include #include #include #def

2013-07-29 01:38:35 839

原创 poj1127 Jack Straws 线段相交+并查集

平面上有n条线段,询问某两条线段是否直接或间接相连。才发现以前写的线段相交模板中没有处理共线但不相交的情况,现在加上了。#include #include #include #include #include #include #include #define N 10005using namespace std;typedef long long LL;struc

2013-07-29 01:31:18 912

原创 poj3057 Evacuation 二分图匹配

首先BFS出每个出口到每个人的距离,然后枚举时间。因为每一秒只能出一个人,就相当于是一个人与一个的二元组来匹配。枚举时间的时候逐渐地的增加右边的数量,直到匹配数等于人数为止。#include #include #include #include #include #include #include #include #include #include #in

2013-07-29 01:27:52 764

原创 poj3685 Matrix 二分答案

可以看出每一列的数字都是单调的,于是就能在每一列用二分来计算一个值在这个矩阵中的排名。二分答案+验证即可。#include #include #include #include #include #include #include #define N 1005typedef long long LL;using namespace std;int n;LL M

2013-07-29 01:23:07 944

原创 poj3411 Paid Roads 状压+最短路

一个带权有向图,所有边要么在v点收费,要么之前在某点交过费,求最小费用。状压完图是带环的,求最短路即可。#include #include #include #include #include #include #include #include #include #include #include #define N 16typedef long long

2013-07-29 01:17:07 961

原创 poj3692 Kindergarten 二分图最大独立集

幼儿园中有n个男孩m个女孩,男孩之间都认识,女孩之间都认识,求一个极大团。建出补图后就转化成了求该图独立集的问题,因为补图是二分图,于是匹配。#include #include #include #include #include #include #define N 5005#define M 500005using namespace std;int n ,

2013-07-29 01:11:52 614

原创 poj3068 "Shortest" pair of paths 费用流

找两条总权值最小的互不相交的从1到n的路径,最小费用流。#include #include #include #include #include #include #include #include #include #define N 5005#define M 200002using namespace std;int s, t , ans , maxflo

2013-07-29 01:07:38 779

原创 poj3690 Constellations 字符串Hash

预处理出原矩阵所有PxQ的矩阵hash值,再处理出小矩阵的hash值并存在一个set中,再把其中所有已经存在的hash值删去即可。输入顺序是N,M,T,P,Q...千万别看错了#include #include #include #include #include #include #include #include #include #include #include

2013-07-29 01:05:28 659

原创 poj3728 The merchant 倍增LCA

给定一个点带权的树,有Q个询问。一次询问求从X到Y的这条路径上,从一个点买从这个点之后的某个点卖,求最大收益,买必须再卖之前。求倍增LCA的时候维护5个值f  ij : i的2^j级祖先fm ij i到i的2^j级祖先的最大点权fn ij i到i的2^j级祖先的最小点权sm ij i到i的2^j级祖先的最大收益sn ij i到i的2^j级祖先的最小收

2013-07-29 00:58:27 959

原创 poj3109 Inner Vertices 扫描线+树状数组

http://poj.org/problem?id=3109无限大的平面上有n个黑整点,剩下的整点都是白的,如果一个白整点四周都有黑点,那么它就会变成黑点,求最后有多少个黑点。首先白点的变化不会发生连锁反应,意味着这个变化过程一定能够终止。变化的白点肯定是横向线段与纵向线段的交点,所以只需要找出交点的个数即可。先离散化再找出所有的横向与纵向线段,然后扫描线+树状数组

2013-07-23 17:17:53 1220

原创 poj3977 Subset 中途相遇法...

http://poj.org/problem?id=3977嗯WA了10次……一道难度不是很大但细节很要命的题给定一个有n个数的集合,求这个集合的一个绝对值最小非空子集,有多解时子集的元素个数最小。关键就是在于这个非空....枚举出一边的集合的时候,自然的要将相同子集和的子集只留下集合元素个数最小的一个,除了子集和为0的以外,子集和为0的还要保留次小。二分的时候

2013-07-22 23:30:33 1312

原创 poj3484 Showstopper 二分

http://poj.org/problem?id=3484因为题目说至多存在一个奇数点,所以前缀和的奇偶性一定是偶偶偶偶偶偶偶偶偶偶偶偶偶偶偶偶偶偶偶偶奇奇奇奇奇奇奇奇奇奇奇 的样子等价于我们要找第一个奇数点,二分该点的坐标来判断即可。至于判断呢需要以O(n)的时间来找出从1到k的一段的点数,具体实现看代码~输入格式非常坑,小心数据与数据之间有可能有多个空行。

2013-07-22 16:23:23 2181

原创 poj2566 Bound Found -- Two pointers

http://poj.org/problem?id=2566给一段序列,求这个序列的一个连续的子序列,使得该子列的和的绝对值尽可能接近某一个定值T二分胡搞法用set来储存前缀和的值,枚举右端点i,二分可能的左端点的前缀和s[i] + T / s[i] - T ,更新答案。居然能过……#include #include #include #include #i

2013-07-22 16:09:46 768

原创 BUAA-SCSE 暑期算法提高班 Final Contest 解题报告

http://www.bnuoj.com/bnuoj/contest_show.php?cid=1847A给定两个字符串,两个字符串的字符之间存在一种双射关系,求是否存在这样一组映射?只需统计两个字符串的各个字符的出现次数,然后排序,从下到大看出现次数是否相等即可。 scanf("%s\n%s",s1,s2); for (i = 0 ;i < strlen(s1)

2013-07-13 15:19:16 1110 1

原创 BUAA-SCSE Training day2 指导……

题目的确选择的比昨天难多了....http://acm.hust.edu.cn/vjudge/contest/view.action?cid=25719#overviewA int i , x , y; cin >> T; while (T --) { cin >> n; x = - 1 << 30 , ans = - 1 << 30;

2013-07-05 20:07:20 1068 1

原创 BUAA集训队选拔赛部分简单题解

http://www.bnuoj.com/bnuoj/contest_show.php?cid=1764A~I是今年北大校赛的题目,就不写了,怒跪干掉B和I的liuyiboJ 对每种大小的盒子计算出可以装下该种盒子的最小的盒子,取最大即可K 贪心L 一共只有三种情况,0,正奇数和正偶数M 数位DP..比较难说N 题面描述有一些问题,模型是最大权闭合子图O

2013-07-01 19:49:12 990

原创 <6.21>数据结构整理(Treap,线段树,主席树)

HDU 3726 Graph and Querieshttp://acm.hdu.edu.cn/showproblem.php?pid=3726离线逆序操作启发式合并找第K大值#include #include #include #include #include #include #include #include using namespace std;#

2013-06-21 10:34:05 2650 7

Kuhn_Munkras算法O(n^3)实现

Kuhn_Munkras朴素算法的改进,运用了slack函数。

2012-11-20

空空如也

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

TA关注的人

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