自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

MissZhou要努力

路漫漫其修远兮,吾将上下而求索

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

原创 hdu3473Minimum Sum【划分树sum维护】

一个上午唯一的成果T^T还有8天就过年了说说这个题,比基础的多了一个sum数组,用来记录当前区间在这个数之前进入左子树的元素值之和,/***************hdu34732016.1.29/***************hdu34732016.1.29***************/#include #include #include using namespa

2016-01-29 21:36:35 628

原创 hdu4417Super Mario【划分树+二分模板】

这个题暴露了自己很严重的基础知识问题==就是二分啊!因为自己知道当年(就是去年这会)二分学的不好,都一年了,还能怨人家课件吗??于是乎在网上搜呀搜,搜到了点击打开链接 这篇博客,说的简直就是自己啊啊啊啊,还好给了模板,也非常好理解,顺便测试了一下#include #includeusing namespace std;int num[10]={1,1,2,2,4,4,5,5,7,7}

2016-01-28 22:44:11 644

原创 hdu4251The Famous ICPC Team Again【划分树入门题】

水到不能再水……/***************hdu42512016.1.281060MS 15816K 2320 B G++***************/#include #include #include using namespace std;const int MAXN = 1000010;int sorted[MAXN]; //对原集合中元素排序后的值

2016-01-28 16:06:30 516

原创 poj2104K-th Number【划分树入门题】

卡了半天攻下的知识点,没有想象中的难啊,某大牛不是说过“主席树是当时我弱不会划分树研究出来的替代品,被一小撮别有用心的人取了这么一个名字”(⊙﹏⊙)b 分明是主席树更难一点好么 ……说说划分树是个什么玩意,归并排序知道吧,不知道就翻一下大话数据结构,两两排序然后合并,再合并大区间,再合并大大区间……划分树建树的思路和他的差不多,我记得归并排序最开始分几波是任意的,而且这个数字也影响效率,但是划

2016-01-28 15:49:36 592

原创 poj2352stars【treap树水题】

又是审题!虽说好多网友都被坑在这里了==说题意:给出的这些坐标只考虑小于等于自身横坐标的个数(不包括自己)分别有多少点的这种个数是在0~n-1范围内的 裸的treap不解释/****************poj23522016.1.261040K 469MS G++ 1648B****************/#include #include #include #inc

2016-01-26 22:29:54 759

原创 poj1442blacks boxs【treap树】

1A~果然上午看小说,中午吃好吃的,下午效率高23333说题意,有两种操作 add和query,query每次查询的是第i小的,i是从0开始的,查询之前i++,查询之后不删除。告诉你add数字的依次次序,又告诉你当数组当前有几个数的时候进行了一次查询(这句话我结合示例看了好久才明白什么意思)然后就是小case了/*************poj14422016.1.26984K 20

2016-01-26 17:03:42 842

原创 poj3481double queue【treap树入门题】

9月份那会工大的大神过来讲课,像是被催眠似的昏睡了大半节课,拖延症晚期患者终于下决心要开始重新学习平衡树。不看不知道,一看吓一跳。原来treap树、splay树都是平衡树==我还在假期学习计划里面分开列了==丢人丢大发了orz 而treap树就是堆树,利用大根堆或者小根堆的性质以及随机给出的优先级建的树,实在是忘得太狠了==由于本人实在不喜欢一堆指针的模板,于是乎在网上找了这个:点击打开链接 而且

2016-01-26 15:58:55 967

原创 php类的继承性及其相关

继承已为大家所熟知的一个程序设计特性,PHP 的对象模型也使用了继承。继承将会影响到类与类,对象与对象之间的关系。 比如,当扩展一个类,子类就会继承父类的所有公有和保护方法。但是子类的方法会覆盖父类的方法。 继承对于功能的设计和抽象是非常有用的,而且对于类似的对象增加新功能就无须重新再写这些公用的功能。php继承的关键字:extends格式:[修饰符] class 子类名 ex

2016-01-26 11:01:30 556

原创 spoj Count on a tree【主席树+在线LCA】

10628. Count on a treeProblem code: COT You are given a tree with N nodes.The tree nodes are numbered from 1 to N.Each node has an integer weight.We will ask you to perform t

2016-01-25 23:36:49 815 1

原创 php面向对象基础部分

当定义好类后,我们使用new关键字来生成一个对象。$对象名称 = new 类名称();$对象名称 = new 类名称([参数列表]);由于对象资料封装的特性,对象属性(类中定义的变量)是无法由主程序区块直接来访问的,必须通过对象来调用类中所定义的属性和行为函数,间接地达成存取控制类中资料的目的。<?php //声明一个电话类Phone class Phone {

2016-01-24 22:47:49 554

原创 spojD_query【主席树】统计区间内不重复数的个数

这个题加深了我对主席树的理解~题解的过程是扫描数列建立持久化线段树,若是第一次出现,就在该数位置加一;不是的话,上次出现的位置减一,新位置加一。对于每个询问区间[L,R]在第R个版本的线段树上只有前R个数,在线段树上查询位置L,对经过的区间进行累加。这个做法我想了好久啊==为毛这么建树啊啊啊。举两个极端的栗子:1所有的数字没有重复的,该数位置加一,和前一个题一样,没得说2所有数字都是同

2016-01-24 21:37:47 1783

原创 poj2104&&hdu2665kth number【主席树入门题+讲解】

又是卡了一天的知识点,(其实是看不下去下午上网来着,(⊙﹏⊙)b)昨天差点找人问带有懒惰标记的线段树和主席树的区别与联系,多亏憋住了……主席树里面存储的某数字出现的次数,而线段树大多数储存数值,也不好说谁好谁不好,毕竟前者主要处理区间内与个数有关系的问题,比如说区间第k小、区间内不重复数字个数等等,这些线段树都做不了,据说修改主席树时要用树状数组,那不就成了树套树?omg   说几个孙大神的课

2016-01-24 21:16:50 1028 2

原创 poj3237tree【树链剖分入门题+线段树】

休息了两天,今天开始做树链剖分,除了模板长以外,还是挺好理解的。就只是线段树+剖分独特的函数,然后树链剖分所用的数组有点多,没了。其中需要注意的一个点是“链”(路径)不一定是从根节点到叶子节点的,轻儿子这个点它也有重儿子啊啊啊。再说这个题,单点更新,区间取相反数,区间求最大值。/***********poj32372015.1.232504K 657MS C++ 6396B****

2016-01-23 17:20:15 1523

原创 hdu2888Check Corners【二维RMQ】2009 Multi-University Training Contest 9 - Host by HIT

去年多校就出了一个裸的一维RMQ,怎么09年工大也出了啊,除了尽量少开内存,其他真的没什么,话说为毛多校的RMQ就这么简单,区域赛的就难的要死啊啊啊啊。刚刚看一个树型dp+RMQ+二分的200+行代码,本来还想自己研究出来呢 呵呵呵/***********hdu28882016.1.203260MS 30676K 1877B G++***********/#include #i

2016-01-20 19:05:01 439

原创 poj3368&hdu1806Frequent values【RMQ求频率】

为什么非要改模板???简直就是挖坑自己跳T^T 最后还不是看了邝斌的标称才过的==,而且第一次有没审题,我确定我看到了“non-decreasing order.”然而为什么做的时候就忘了呢???还是就是二分啊啊啊啊/**************poj3368&hdu18062016.1.208808K 594MS C++ 1460B**************/#include

2016-01-20 17:36:32 445

原创 poj2019cornfields【二维RMQ】

本来想自己写来着,憋了半天没写明白,突然意识到这玩意我有邝斌的模板啊~·~WA了n发之后才发现自己错哪了,就不能细心点,唉,比赛可咋整/***********poj20192016.1.1927388K 579MS C++ 1931B***********/#include #include#include#include#includeusing namespace st

2016-01-19 23:19:35 604

原创 poj2392Space Elevator【多重背包】

其实改对了模板还是挺开心的,不过发现AC率那么高就不开心了==,这题放在bestcoder上就是第二题的好么。注意一下需要排序,我是把中间都打出来发现的这个问题==#include #include#include#includeusing namespace std;int dp[40004];int n,M,t;struct node{ int cost,wei

2016-01-19 21:51:38 764

原创 php数组相关处理函数(下)

数组的排序函数冒泡排序概念什么的都省略了,毕竟姐是搞ACM的人(得意  ,直接贴代码<?php $arr = array(0,1,22,3,44,5,6,7,88,9); //从大到小function mysort(&$arr) { $len = count($arr); for($i=0; $i<$len-1; $i++) { for($j = 0;

2016-01-19 15:30:14 593

原创 hdu3486Interviewe【RMQ】附模板

找了半天都没找到太简单的==这个题面试n个人,可以分任意组数,每组选一个,得分总和严格大于k,问最少分几组一说最大最小的不看分类也知道是rmq,其实自己是想到用二分的,可是你为什么不自己试着写写呢??比赛的时候又不能确定思路再写,自己都WA多少遍还不知道思路对不对呢,这样不行啊。。。还有,标准二分的写法是不是得熟练一些啊。再有就是,这么大的数据量,多余的数组就彻底删了啊,MLE多少次不长记性=

2016-01-19 11:53:49 876 2

原创 hdu3183A Magic Lamp【RMQ】

今天开始为期2天的RMQ,争取能做上6-7题,本来也不是多大的知识点。其实第一场网络赛的之前就知道这个算法,dp的logn求静态区间最大最小值的巧妙算法,只不过这个题改成了要你算下标了。还是没有理解好ST算法的本质,导致TLE了两次后才幡然悔悟借鉴苟神博客才A掉。自己最开始还自以为是的觉得每次查询出来当前的最值然后改成0就可以了,那还和线段树有什么两样??居然没有想到,第几次找的最值和数组的下

2016-01-19 10:31:09 462

原创 圆桌问题【二分图多重匹配】网络流24题

? 问题描述:假设有来自 n 个不同单位的代表参加一次国际会议。每个单位的代表数分别为n i r i , , 2 , 1 ,  = 。会议餐厅共有 m 张餐桌,每张餐桌可容纳 ) , , 2 , 1 ( m i c i  = 个代表就餐。为了使代表们充分交流, 希望从同一个单位来的代表不在同一个餐桌就餐。 试设计一个算法,给出满足要求的代表就餐方案。? 编程任务:对于给

2016-01-18 11:25:17 1286

原创 nefu486魔术球问题【有向无环图最小路径覆盖】

你能不能再笨一点……→_→开始是卡在不理解为什么最小路径覆盖=顶点数-匹配数,看了那个裸的最小路径覆盖总算是明白了:因为限制了左侧的每一个点和源点的流量都是1,就是限制了每个点只能用一次。因为每个点自身也可以算作是一个路径嘛,所以如果没有一个匹配的,那么路径数=顶点数,那么有匹配的话,路径数=顶点数-匹配数。后来又卡在,每次加入一对点就要进行一次增广,但是黄大神的模板很明显node是连续的

2016-01-18 09:52:34 533

原创 nefu495最长k可重区间集问题【最大权不相交路径】网络流24题

本来是应该昨天晚上就写完的,果然在家的状态不好==而且以后就应该11点半之前就睡,脑子不灵光写字都不过脑子还不如睡觉~。~据说今年国赛有5站,留下来问题应该不大,但是能拿什么奖就不好说了,总之要加油。。方法二没看懂,最大权不相交路径太难了,24题里面只有两个,还都是4星的==【问题分析】最大权不相交路径问题,可以用最大费用最大流解决。【建模方法】方法1按左端点排

2016-01-18 07:51:20 1251

原创 nefu482方格取数【最大点权独立集】网络流24题

自己吭叽了两个小时终于在测试数据以及标程的引领下A 掉了这个三星的题,白天看了一上午胡波涛的论文总算想起来点了,图论总是比数据结构有爱一些。无奈自己总犯如此二的错误==1、s、t不可能连着所有点啊,想啥呢??既然是二分图就要一边连一半啊  2、连相邻边的时候只连单程的  3、那个flag变量怎么可能换行一定变啊,果然是半夜脑子不灵光了【问题分析】二分图点权最大独立集,转化为最小割模

2016-01-17 00:10:01 650

原创 php数组的相关处理函数(上)

内部预定的函数比自己写的快,内部的不一定是用php写的,可能底层是c语言写的。要求数组、字符串的函数必须都会~!数组的键/值操作函数array_values -- 返回数组中所有的值 格式:array array_values ( array input ) $a = array("name"=>"张三","age"=>20,"sex"=>"男");$values = a

2016-01-16 15:52:49 419

原创 php超全局数组(预定义变量)

服务器变量:     $_SERVER环境变量:$_ENV HTTP GET变量:$_GET HTTP POST变量:$_POSTrequest变量: $_REQUESTHTTP文件上传变量: $_FILESHTTP Cookies:  $_COOKIE Session变量: $_S

2016-01-15 22:09:13 1027

转载 php单引号 双引号区别

1、定义字符串    在PHP中,字符串的定义可以使用单引号,也可以使用双引号。但是必须使用同一种单或双引号来定义字符串,如:‘Hello"和“Hello'为非法的字符串定义。    定义字符串时,只有一种引号被视为定义符,即单引号或双引号。于是,如果一个字符串由双引号开始,那么只有双引号被分析器解析。这样,你就可以在双引号串中包含任何其他字符,甚至单引号。下面的引号串都是合法的: 

2016-01-15 17:33:04 505

原创 hdu1814Peaceful Commission【2-SAT】输出最小解

居然1A了!!之前没调对居然只是多乘2了 (⊙﹏⊙)b 而且加边写反了==题解:每个党派需要在两个代表中选一个,这2*n个代表中有彼此讨厌的m对人,输出n个去开会的代表重点不在于怎么建边(建边这么so easy的事居然脑袋短路也是醉了==)在于怎么输出,网上的方法真的好麻烦,为什么非得染三个颜色的点啊我就不懂了,可能是模板的思路不好造成的吧刘汝佳的书上说这个模板的思路是:逐一考虑没

2016-01-15 15:49:04 1764

原创 poj3207Ikki's Story IV - Panda's Trick【2-SAT】

1A~这两天做题这么顺搞得我都不想去复习生态学了==感觉这个题要比前一个简单一点,建边的时候如果有交叉就必须是一真一假。就是判断相交有点麻烦,开始想写函数判断两个线相交来着,发现还是判断不相交省事一点==/***********poj32072016.1.121172K 110MS C++ 1960B***********/#include #include#include

2016-01-13 11:42:02 453

原创 poj3678Katu Puzzle【2-SAT】

自己改明白代码简直太开心啦~网上博客里的压根没搜到用刘汝佳的模板的AC代码,但是照着加边的思路,劳资写出来啦,哦哈哈哈言归正传,怎么加的边:AND12*i==>2*i+12*j==>2*j+102*i+1==>2*j2*j+1==>2*iOR12*i==>2*j+12*j==>2*i+102*i+1==>2*i2*

2016-01-13 09:53:16 414

原创 uva1391Astronauts【2-SAT】

又是刘汝佳书上的题,貌似书上只有这两个了,确实2-SAT的题也没有太多,看邝斌的分类也才九个,今天加明天上午再A两个就结束~做这个题的时候发现自己对于结点的表示还是不够理解,遂把四种情况都列出来xi为假 或xj为假2*i+1==>2*j2*j+1==>2*ixi为真或xj为真2*i==>2*j+12*j==>2*i+1xi为假或x

2016-01-12 20:52:23 550

原创 uva1146Now or later飞机调度【2-SAT】入门题

插头DP就暂时那么地儿吧,纠结学什么的结果是学这个2-SAT本来以为得多难,下了好大决心,结果只是照着刘汝佳的书就看懂代码和思想了~说这个题的思路:引用书上的话就是,最小值尽量大的典型做法就是二分查找,这样,原来的问题就转化成了判定问题:是否存在一个调度方案,使得相邻两个着陆时间总不小于P,进一步转化为:任意两个着陆时间差总不小于P。即唯一的限制就是:时间差小于P的两个两个着陆时间不能同时满足

2016-01-12 16:34:37 849

原创 hdu3377plan【哈密顿路径插头Dp】

本来想像上一个题(楼教主的那个)一样接出两行把原来的包起来就行,发现这个题要求不仅是左上角到右下角,我没想明白怎么会截完了之后,回路变成路径,而且题中说不一定每个格子都走。(你说啊,要是能只按右下的方向走,20行代码就搞定了,可以来回走,就变成200行了,orz)这个题进一步加深了本人对于插头DP的理解,(虽说模板那么长,比图论。数据结构有爱多了)何处是接插头,何处是合并连通量,何处合并回路。

2016-01-12 13:14:29 850

转载 ACM训练方案

初期:一.基本算法:(1)枚举. (poj1753,poj2965)(2)贪心(poj1328,poj2109,poj2586)(3)递归和分治法.(4)递推.(5)构造法.(poj3295)(6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996)二.图算法:(1)图的深度优先遍历和广度优先遍历.(2)最短路径算法

2016-01-12 11:59:24 1114

原创 PHP数组初步

还剩40+分钟,干不了别的,把数组学过的写一遍,就酱~数组是PHP语言中一种非常重要的数据类型。把若干变量按有序的形式组织起来的一种形式。这些数据元素的集合称为数组。数组按下标个数分类有一维数组,二维数组等,二维以上数组通常称为多维数组。数组是一个容器, 使用的目的是可以批量操作数组的分类:PHP 中的数组实际上是一个有序图。图是一种把 values 映射到 k

2016-01-11 21:54:51 759

原创 poj1739Tony's Tour【插头DP】楼教主男人八题之一

1A掉这个题简直太太太太爽了好么~~淫家可是萌妹子哟(害羞脸这个题固定了起点是左下角,终点是右下角,那么就利用这个性质,在maze矩阵下面加两行,倒数第二行中间部分全设成有障碍,最后一行全都设成没障碍,就相当于人为把下面的部分补上了。那么M==2和M==1怎么办?很明显前者是补两行没障碍,后者直接输出0/********poj17392016.1.11452K 79MS C++ 49

2016-01-11 21:09:33 763

原创 寒假学习计划

还有三天放假,然而,我,并没有假期列一下没学过的算法,激励自己一下图论(这学期除了开学刷了几个根本不知所云的网络流以外,几乎没碰过)差分约束系统网络流     2-SAT数据结构(压根没好好学的)后缀数组哈夫曼堆线段树、主席树treap/splay树各种排序RMQ/ST数链剖分动态规划单调队列优

2016-01-11 19:58:02 440

原创 hdu1964Pipes【插头dp】

本以为作为入门题的小小升级版,这个题上午就可以A了,结果磨叽到现在==自以为是的把题读错了题意:打通屋子之间的墙壁需要消耗花钱,屋子是NxM的大小的,题里的#是表示不能出去的墙,(反正没啥用),有用的只是那这些数字,毕竟要凿开嘛~这可咋办,单回路这事好办,但是裸的模板只是记录了插头的相关信息,并没有记录花费的地方。本公举岂能被这点小事所困住?没有记录的地方再找一个地方记就好了嘛,考察你模板理解

2016-01-11 18:55:14 546

原创 hdu1693Eat the Trees【插头dp】入门题

与上面那个题略有不同,主要体现在上一个题是单回路,这个题是多回路。所以修改以下两个位置:1.多回路 的题在课件上叫做“不涉及连通性”code存储插头的有无,即只有0/12.单回路的当当前格子左上都有插头时,且属于相同连通分量&&这个格子是最后一个==>才能合并回路多回路的因为只存储了插头的有无,无需判断这两个插头是否是一对(你想判断也判断不了啊 (⊙﹏⊙)b)也不需要在插头不是一对的时

2016-01-11 10:09:43 477

原创 基于连通性状态压缩的动态规划--【插头DP】模板超级详细解释

断断续续卡了本公举三天的插头dp终于搞完了,貌似好多网友也都是学了好多天才搞懂的,特别用成就感,作为一个模板160+行的dp也是醉了首先一定要看陈丹琪的论文!一个高中女孩能让许多大老爷们为难好多天真是厉害,然后我结合孙大神的课件充分理解了模板上的每一句话,哈哈哈,劳资看懂了~~其实还应该说一嘴的是哈希,本以为上学期期末学过一点,能看懂,结果还是又看了哈希的课件才彻底领会。刚开始自己还在

2016-01-10 21:53:01 2765 1

空空如也

空空如也

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

TA关注的人

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