自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 奥义·模板总结

=================图论============1:最短路  1)floyd; 2)dijskltra; 3)bellman-ford; 4)SPFA;http://niuyuxinf4.blog.163.com/blog/static/223521063201373113125284/2:最新生成树(MST) 1)MST_Prim(G, r) (1)将G剪切成两个集合A、B,A

2014-06-26 12:35:20 205

原创 错集&重点注意。

·注意文件使用。函数加载参数不能写错。·scanf要慎用。只有在判断读入数据>十万以上迫不得已再用。—   —#·getline函数。只有遇到回车才停止读入。很强很暴力。· 用memset函数赋初值一定要加载库!不加掉RP,不加掉正确率!。·一定要避免定义的变量名与关键字重名!只要怀疑是重名就改!不然或许会错的莫名其妙。?!·敲程序突然死活找不到错误时可以记下思路完全删去程序重

2014-06-26 12:35:17 146

原创 OJ-P1234【校园网络】

描述 Description 一些学校连入一个电脑网络。那些学校已订立了协议:每个学校都会给其它的一些学校分发软件(称作“接受学校”)。注意如果 B 在 A 学校的分发列表中,那么 A 不必也在 B 学校的列表中。你要写一个程序计算,根据协议,为了让网络中所有的学校都用上新软件,必须接受新软件副本的最少学校数目(子任务 A)。更进一步,我们想要确定通过给任意一个学校发送新软件,这个软件就会分发到网

2014-06-26 12:35:15 224

原创 OJ-P1211【街道赛跑】

又开始学习图论了。希望这次不会再理解的那么费劲了。。。。 描述 Description 图一表示一次街道赛跑的跑道。可以看出有一些路口(用 0 到 N 的整数标号),和连接这些路口的箭头。路口 0 是跑道的起点,路口 N 是跑道的终点。箭头表示单行道。运动员们可以顺着街道从一个路口移动到另一个路口(只能按照箭头所指的方向)。当运动员处于路口位置时,他可以选择任意一条由这个路口引出的街道。图一:有

2014-06-26 12:35:12 154

原创 P1166【牛棚扩张】

一道离散化的题,不算难,但想不到用离散化思想也会暴力水掉。。。描述 Description fj有n (1 由于fj的奶牛持续增加,他不得不考虑扩张牛棚,一个牛棚可以扩张,当且仅当他的四周均不与其他牛棚接触,如果两个牛棚有一个公共角,那他们都是不可扩张的。统计有多少牛棚可以扩张。输入格式 Input Format * Line 1: 一个整数表示有 N个牛棚* Lines 2..N+1:每行四个整

2014-06-26 12:35:10 152

原创 OJ-P1187【虫食算】

首先说一下,写完这道题我感觉整个人都斯巴达了。。 很经典的题目,网上随便搜都能搜到题目描述,就不过多阐述了。 说下心得:这道题一共算交了9遍,(九为数之极么。。)大概分为四个阶段: 1.首先是30的暴搜,本想着大体写好后再加剪枝的,结果越改越乱。这充分证明了我DFS思路的不清晰; 2.然后听老师意见发现最大的问题在于没有搜索策略,于是开始重敲,从最低位开始每层枚举两个数(两个加数的第k位)

2014-06-26 12:35:07 145

原创 【转载】C++ scanf、printf。

最早学的是“cin>>…;”“cout 好了,现在总结下用"scanf"、"printf"的注意事项【每一条都是眼泪啊】 这两个函数,都被定义在库"stdio.h"或者是"cstdio"里,所以在使用的时候应该先加上“#include ” Scanf:scanf("格式控制",地址列表)注意,这里说的是“地址列表”,并非是变量名,也就是说,要用的时候,要在变量名之前加上“&”符号    例如:“s

2014-06-26 12:35:03 113

原创 P1535-HAOI2014【穿越封锁线】

十分有趣的一道几何题,本来就繁琐的题,碰上本来就容易多想的蒟蒻的我。。。真是无力Orz 描述 Description 某敌战区是一个封闭的多边形,用相邻的顶点集合P1(x1,y1),P2(x2,y2),......, Pn(xn,yn)表示。我方侦察员ZDM-007要穿越敌战区的封锁线,为了安全起见,ZDM-007行走的路线垂直于X坐标轴,从南向北穿越。现在已知侦察员ZDM-007所处的位置,你能

2014-06-26 12:35:00 488

原创 【*对二进制优化的一些理解*】(后续完善……)

主要总结下快速幂的二进制思想与DP中多重背包的二进制优化: *1*.快速幂: 看下模板:long long pow2( int a, int b )//求a的b次幂{    long long r = 1, base = a;    while( b != 0 )    {        if( b%2==1 )            r *= base;        base *= bas

2014-06-26 12:34:58 295

原创 OJ-P1209【几何图形还原】

一道图论的题,但其实感觉只是用了一个邻接矩阵存边用来判断DFS,剩下的就只是一边DFS找方案了。可是有个细节:如果DFS只到第n层,那么还需判断第n个点与第1个点是否有边(有些小坑。。。)Code+注释:#include#include#include#include#include#include#includeusing namespace std;bool mapp[41][41],poin

2014-06-26 12:34:55 180

原创 OJ-P1317【乌龟棋】

经典DP。知名度不再多说。其实学了DP应该就会过这题。蒟蒻的我自认思维的障碍在于四维的数组+循环。#include#include#include#include#include#includeusing namespace std;int n,m,map[370],F[51][51][51][51];int i1=0,j11=0,k1=0,l1=0;void init(){ cin>>n>>m;

2014-06-26 12:34:53 143

原创 OJ-P1269【马棚】

好吧,突然发现快想不起来这题该怎么做了。。只能说熟练度还不够。。Orz(这是我打的最多的一个表情么)一道典型的资源分配类DP,做法: 枚举前i匹马和前k个马棚,转移的状态F[i][k]为(前i-j匹马放入前k-1个马棚加上第i-j+1匹马到第i匹马放入第k个马棚)的最小矛盾值。 数据比较正常的(0,500],输入格式也不纠结,So,理清思路后一遍DP,输出F[n][k]就很欢乐的A了。Code+注

2014-06-26 12:34:50 108

原创 OJ-P1802【种树】

RQNOJ上曾经见过一道类似的题【教主的花园】,所以现在学习DP再看这题更是“仇人相见分外眼红”。这道题就算开始学了DP也困惑了不少有痣青年(比如蒟蒻的本人),我对DP简约但富有内涵的印象完全被颠覆了,原来DP也可以这么复杂。好吧,蒟蒻的我。思路: 比较好想到,但像我这样的zhazi却不太敢轻易的去写,虽然想法是对的但过程早已清新脱俗的超出一个初学者的逻辑……好吧不扯了。。。真~思路: 因为是环,

2014-06-26 12:34:48 143

原创 OJ-P1267【尼克的任务】

学习DP线性时候的一道练习题,蒟蒻的我当时完全想不到要倒着转移状态。。Orz了,哎~Code+注释:#include#include#include#include#includeusing namespace std;int n,k,F[11000];struct da{ int start,timee;}map[11000];//记录void init(){ cin>>n>>k; for (i

2014-06-26 12:34:46 106

原创 OJ-P1259【饥饿的奶牛】

初学DP一段时间了,开始回顾写总结去~现在看来,这是一道比较经典的线性DP,重点是对线段区间的处理,存储和DP时的细节。思路: 1:预处理将每一个需求的区间只记录两个端点并以左端点升序排列; 2:DP过程。 用在前i-1个区间中可以加上第i个区间的最大值作为F[i]的值并记录结束点坐标向后转移; 3:没了,输出F[n]最大值;粘下Code+注释:#include#include#include#

2014-06-26 12:34:44 120

原创 OJ-P1950【流星雨】

描述 Description   贝茜听说了一个骇人听闻的消息:一场流星雨即将袭击整个农场,由于流星体积过大,它们无法在撞击到地面前燃烧殆尽,届时将会对它撞到的一切东西造成毁灭性的打击。很自然地,贝茜开始担心自己的安全问题。以FJ牧场中最聪明的奶牛的名誉起誓,她一定要在被流星砸到前,到达一个安全的地方(也就是说,一块不会被任何流星砸到的土地)。如果将牧场放入一个直角坐标系中,贝茜现在的位置是原点,

2014-06-26 12:34:41 264

原创 OJ-1915【USACO·Gold电视游戏】

经典依赖型背包模型的略复杂版。主要难点: 1.对数据的组织和存储格式; 2.以及当主件不算价值的时候,临时状态数组a与状态数组F之间的迭代关系要搞清楚。其他的没有什么了,但在这道题调试的过程自感对依赖背包的理解程度上了一小步。(哎很好)。粘出Code+注释:#include#include#include#include#include#include#includeusing namespace

2014-06-26 12:34:39 112

原创 OJ-1278【金明的预算方案】 依赖型背包

经典背包类问题,当分的组中有一个作主件(只有装了主件才能装该组物件的其他物件)时,DP的思路就必须更加更加的清晰与结构化,明白每一步都做了什么。要不就像我开始一样Orz了。注释版Code:#include#include#include#include#include#include#includeusing namespace std;int n,m,F[40010],a[400

2014-06-26 12:34:37 100

原创 OJ-1274【逃亡的准备】 DP多重背包练习

算是个模板题吧,多重背包的DP+二进制优化关于多重背包: 1.如果一种物件的数量足够多(多到背包放不下),那么对于该物件就是做一遍完全背包; 2.否则的话便可以对该物件的每一个做一遍01背包(!)。 这里的二进制优化:(将该物件按件数用两个变量将其拆成若干个2的n次幂的形式,这样将O(n*n)变为了O(n*log2n))Code+注释:#include#include#include#inclu

2014-06-26 12:34:34 376

原创 P1266【拔河比赛】

描述 Description 一个学校举行拔河比赛,所有的人被分成了两组,每个人必须(且只能够)在其中的一组,要求两个组的人数相差不能超过1,且两个组内的所有人体重加起来尽可能地接近。输入格式 Input Format 输入数据的第1行是一个n,表示参加拔河比赛的总人数,n输出格式 Output Format 输出数据应该包含两个整数:分别是两个组的所有人的体重和,用一个空格隔开。注意如果这两个数

2014-06-26 12:34:32 258

原创 P1265【花店橱窗】

描述 Description 假设你想以最美观的方式布置花店的橱窗。现在你有F束不同品种的花束,同时你也有至少同样数量的花瓶被按顺序摆成一行。这些花瓶的位置固定于架子上,并从1至V顺序编号,V是花瓶的数目,从左至右排列,则最左边的是花瓶1,最右边的是花瓶V。花束可以移动,并且每束花用1至F间的整数唯一标识。标识花束的整数决定了花束在花瓶中的顺序,如果I<J,则令花束I必须放在花束J左边的花瓶中。 

2014-06-26 12:34:30 93

原创 2014-三月USACO月赛总结

算是把握住了这次的三道题吧,发挥正常,只是有一个思维上的问题,本以为代码中无法实现需要的一个过程所以画蛇添足所以一个新的边界问题让我Orz了。。。 总结下:第一题【重排序】,把两个数组依次比较,找到A数组中不在B数组上相同位置的元素,再环状交换位置,程序记录环的个数及最大环。数据规模只有100,所以很欢乐的纯模拟就A了 第二题【LazyCow】,给n个一维数组上有权值的坐标,要

2014-06-26 12:34:27 123

原创 2014-02-23考试总结

今天又模拟考了。三道题300,得分150。算是正常水平发挥吧。Q1:字母游戏igra.cpp        比较水,记得初中时就做过原题,很清楚地记得当时时间复杂度O(n)的写法,但这次加上结构体的代码只拿到了一半分,具体还是因为时间复杂度不会算。认为的O(logn)变成O(n*n)…… Orz。。 Q2:括号迷宫bracketmaze.cpp   

2014-06-26 12:34:25 93

原创 寒假集训总结

感觉还可以吧,这个寒假的集训。没有新学多么高深的东西,但对于编程基础层次的内容我已经有了更进一步的掌握。我想这种训练可以让我摆脱对所有知识都一知半解的状态了。哎~很好!说一下对我比较重要的收获: 集训里我讲了一次关于递归的报告,为了这个我去各种翻老师资料还有上网找大神心得,其实这么讲上一次会比单纯做各种DFS要好的多,后者注重实践,而前者则注重思考,思考才是在掌握知识时更应注重的地方。恩,收获很大

2014-06-26 12:34:22 79

原创 宽搜总结——BFS

开始练习了BFS,这是原来一直不太会用的东西。(几乎学过后就没用过……)心得如下: 与DFS相比,宽搜去掉了递归调用的层次,而是改用队列来严格得维护处理数据时的先后顺序。它的原理是在找到一个节点ai时(老师:“这里必须先判断ai是否已经进队!”)直接将ai的所有子节点全部进队,然后再回到找到节点ai的层数中找下一个可以拓展子节点的节点。。。因为用的是队列而不是递归,这样也可以自己控制队的大小而不会

2014-06-26 12:34:20 314

原创 OJ P1106 【Noip2008】立体图

题面就不粘了,就是一个画出数学上立体图模型的题。题属于思想简单(纯模拟+迭代(一个一个竖着摆时要用)),实现有些麻烦。中间实现的时候出现的不足之处:1.首先是打表,还是不怎么习惯于将每一步处理的结果全都输出出来然后一一对比着看,但这次是真感到这么做的好处了。顿觉Ctrl+F10什么的都弱爆了。。下次要记住2 步骤: 步骤不清晰是模拟题最忌讳的。这次还行,但还是今后要高度注意。。。(我真不想重写)。

2014-06-26 12:34:18 145

原创 NOIP2013考试总结

本来写好有草稿在内存卡的,结果忘装上了。。。好吧重整思路,完善出总结2.0版:星期五去的郑州,星期天中午回来。算下空闲时间:星期五半下午到晚上,星期六一下午加晚上。接近一天的时间。本来无比周密的计划有复习语句,复习算法,甚至有要去写作业的想法,结果被WIFI一声呵呵勾走了。。好吧。不找理由。我只顾玩了。虽然即使完全利用好这些时间也不能让我在联赛(这会想起去郑州是去比赛了— —|||)上提高多少分。

2014-06-26 12:34:15 106

原创 最小生成树模板

=================MST-prim()============void init(){ cin>>n; memset(a,10,sizeof(a)); for(int i=1;i {   vis[i]=false;  for(int j=1;j   cin>>a[i][j]; }}void MST_Prim(int s){ memset(dis,10,sizeof(dis)); f

2014-06-26 12:34:13 80

原创 全能万进制高精度模板

#include #include #include #include #include #include using namespace std ;typedef long long llong ;const int size = 50000 ;const int base = 10000 ; //高精度数字中每一个元素表示数字的几位,100就是2位。1000就是4位。const int c

2014-06-26 12:34:11 288

原创 10月31 模拟赛day1-2总结

这次day1的题难度中等,都没有难得完全不会,但也非无聊送分题,其实我这次时间算延长了半个多小时吧,昨天看了题已有大致思路。下面是分析:1.机器人。 大致看起来感觉简单,看过数据范围后顿时觉得只要先求出每一次整个字符串坐标的偏移量,剩下的随便一模拟就OK了。应该会过。2.数集。 有些思维障碍,一开始完全摸不清头脑,后来终于想通感觉到这道题考的是最基础的东西,只不过杂糅到一道题中变得异常繁琐。所以我

2014-06-26 12:34:08 104

原创 关于搜索

关于搜索。 这几天着重练习了搜索。从深度/广度搜索到回溯。虽然感觉对处理该类型里中等难度题依然有些力不从心,但好歹有了想法与大体框架。下面就按层次分别总结下搜索。 深搜:(dfs)       主要思想:“一条路走到黑”,按搜索的思想出发找到扩展点便一直扩展下去。主要注意对搜过点的标记以及剪枝。       然后没啥了。  宽搜:(bfs)      

2014-06-26 12:34:06 86

原创 OJ P1361噩梦

这题是KMP算法模板。先总结下KMP:对于a,b两个字符串,如何用O(n)的时间求出b是否是a的字串:对比着看:一般算法  O(m*n):      对a有指针i,对b有指针j。i不断自增的同时不断使a【i..i+j】与b比较。传说中的KMP:      首先应先预处理出p数组记录当指针为j时p【j】记录b串中前j个字符中<b style="ms

2014-06-26 12:34:04 132

原创 OJ P1175 zero num

这题敲了一天。终于算大体明白了。感觉对搜索算是又加深了一层理解。但那个层数感觉稍微清晰些理解。。唉。。Orz。继续练吧。多想想。code+注释:#include#include#include#include#include#include#include#includeusing namespace std;int n;char ways[21];//dfs搜索记录每两个数间符号ch

2014-06-26 12:34:02 155

原创 OJ P1178 最佳调度

这题交了6遍。。。想法:首先想到了是贪心。但很多反例。然后准备用搜索,但这次搜索需要剪枝,所以还得保留贪心得到的较优解,使得凡比较优解还大的解直接pass掉,这样就很能节省时间了。#include#include#include#include#include#include#includeusing namespace std;int n,k;int an[71],ak[71];//an存每个工

2014-06-26 12:33:59 259

原创 10.3-10.4考试总结

10.3 考试总结 这次是模拟考,分两天上午进行,今天第一天、三道题:【比赛安排】【音阶】【水池】按照老师说的先看题半小时,然后想思路,列大概的Code。思路还行,挺流畅,只是没发现什么“坑”,感觉很不爽的感觉。怕坑自己。第一题:用了小根堆和一次sort排序,(其实用了堆也只相当于一个更少时间复杂度的排序)感觉算是能过?(没办法,没发现什么特坑的地方,心里很忐忑)。

2014-06-26 12:33:57 115

原创 C++——我的知识链

目的:写这篇日志,我想把我所掌握的点逐个列举,有助复习,有助针对性学习有句话叫 数据结构+算法=程序设计 所以我准备分成三部分:数据结构,算法,以及数据类型数据类型:{    整型:             int (2^9)                    long long (2^18)             unsigned long long (2^36)    暂

2014-06-26 12:33:55 94

原创 OJ P1200 【noip2009 普及】细胞问题

#include#include#include#include#include#include#include#includeusing namespace std;int m1[10000],m2[10000],a1[10000],a2[10000];int n;int mm1,mm2;int ans=-1;int k=0,kk=0;int main(){  cin>>n; cin>>mm1>

2014-06-26 12:33:52 112

原创 OJ P1109 字符串展开

#include#include#include#include#include#include#includeusing namespace std;int p1,p2,p3;bool q=0;//用于标记‘-’号两边字符不符合处理要求的情况string str,ww;//str为读入的待处理字符串,ww记录每次处理(展开)的结果;void init(){ cin>>p1>>p2>>p3; ci

2014-06-26 12:33:50 169

原创 初学堆——小结

关于堆 这是一个新的数据类型、本质与int 等类型一样,但其内置了若干对自身操作的函数(取顶top,加堆push,减顶pop,查空empty,查询堆中元素个数size)定义了这种类型的变量,可以将其想象成一种特殊的数组:1.       它不用定义区间,是个向量。2.       向其中存数,会自动按照升(降)序排列,且时间复杂度为log2(n)3.       它不可

2014-06-26 12:33:48 88

原创 2013-9-15 考试总结

三道题 :求素数/取硬币/飞天引用老师一句话总结:三道题的难度并列(非梯度),都可以有思路,但都不容易A 一题一题分析:1):我用的是先将100000内的素数跑出来,制表然后枚举、果断TLE 正确方法是筛法50000后再筛法,然后就能A了。。。暂时不会筛法,不过今天就应该会了。待会实现;2):刚看题时以为时DP就将其放到最后(写不写还不一定)结果老师说因为数

2014-06-26 12:33:45 95

空空如也

空空如也

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

TA关注的人

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