2017年暑假训练日记
文章平均质量分 66
胖亚亚
这个作者很懒,什么都没留下…
展开
-
2017/8/7训练日记(Floyd算法求最短路径)
今天a了几道图论算法题,╮(╯▽╰)╭好伤,就来学习下Floyd算法Floyd-Warshall算法(Floyd-Warshall algorithm)是解决任意两点间的最短路径的一种算法,可以正确处理有向图或负权的最短路径问题,同时也被用于计算有向图的传递闭包。算法描述1)算法思想原理: Floyd算法是一个经典的动态规划算法。用通俗的语言来描述的话,首先我们的目原创 2017-08-07 20:36:39 · 309 阅读 · 0 评论 -
2017/8/12训练日记(单调栈)
今天网站原因着实没做多少题 |_>)今天做的题,除了几个二分的变形,还有就是和单调栈有关的内容单调栈其实就是单调递增或者单调递减的栈,也没啥特殊的;单调栈只能在栈顶进行操作而维护单调栈就是必须保持原栈的单调性不变;从数组的角度阐述单调栈的性质:给定一个包含若干个整数的数组,我们从第 1 个元素开始依次加入单调栈里,并且加入后更新单调栈。那么单调栈有这样原创 2017-08-12 21:22:47 · 277 阅读 · 0 评论 -
2017/8/19训练日记(被虐|_'))
今天下午杭电的网络选拔赛。。。。。。。。。。。。被虐虐虐虐。。。。。就做出个第三题,第三题还做出来的磕磕绊绊,开始超内存,二维数组开太大,改成一维数组还是超时,后来用的动态数组存的,总算a了,后来四题七题各种tle各种超内存,没办法,给的范围太大,到最后也没a过去。。。。。。。第四题第四题,给出两个字符串,判断第二个字符串在第一个字符串出现的次数,进而进行一系列的操作int strst原创 2017-08-19 21:59:37 · 356 阅读 · 0 评论 -
2017/8/5训练日记(最短路径算法之Dijkstra算法和Bellman-Ford算法)
关于最短路径算法的实现原创 2017-08-05 20:28:09 · 496 阅读 · 0 评论 -
2017/8/21训练日记
今天看了看前天的网络赛题解,大佬们刚写出题解来( ̄▽ ̄)~*,又看的树状数组的例题,目前还没正式开始a这个专题,明天就开始a题关于2017杭电上的网络赛,(╥╯^╰╥)http://blog.csdn.net/f_zyj/article/details/77430980(大佬给出的部分题解)第四题是个KMP算法。。。。而且节省时间的方法:将两个字符串都倒过来,将后缀变成前缀,可以省原创 2017-08-21 20:37:07 · 246 阅读 · 0 评论 -
2017/8/14训练日记
昨天说好的a题没a掉QAQ今天才a了几道关于栈的题,感觉难度递增.......数据结构这块有点慌今天想了一下关于栈和队列的问题使用标准库的栈和队列时,先包含相关的头文件#include#include定义栈如下:stack stk;定义队列如下:queue q;栈提供了如下的操作s.empty() 如果栈为空返回true,否则返回原创 2017-08-14 20:55:36 · 251 阅读 · 0 评论 -
2017/8/24训练日记(long long 以及 int ,long使用范围)
今天上午在火车上度过没a题但是又看了看知识点;中午到学校忙忙活活下午就兴致满满的到实验室a题;然而理想很丰满现实很骨干。。。。。。a题是a了一下午一个题。。。。。。菜哭关于双向队列的一个题 ,问一个双向队列从前从后都可以出数,每个数的价值是它输出的顺序数乘以它本身的价值,求能输出的最大价值数是多少;关于这个题,开始是打算采用队列写的,后来直接堆到数组里了感觉更直接一些,然后原创 2017-08-24 20:39:33 · 335 阅读 · 0 评论 -
2017/8/15训练日记
上午写了一个二分题,然后卡住了,卡在了最后一个题上。。。。。。练习二还没做完,练习三开了QAQ下午做的练习赛一共a了三个题poj2229 https://cn.vjudge.net/problem/30465/originpoj3170 https://cn.vjudge.net/problem/17594/originpoj2376 https://c原创 2017-08-15 21:13:49 · 217 阅读 · 0 评论 -
2017/8/22训练日记
上午一个题没a出来。。。。。。。郁闷,出师不利。。。下午组队做的练习赛,两个小时一共a出四个题来,一共6个题,a题是个最小生成树的题:n个村庄,m条已经修好的道路,接下来n行表示n个村庄的坐标(xi,yi),m行表示两个村庄(a,b)已经修好道路。求n个村庄互相连通需要修建的最短道路。b题是个最短路径的题:一群牛分别从1~n号农场赶往x号农场参加聚会,农场与农场之间的路时单向的原创 2017-08-22 22:00:52 · 319 阅读 · 0 评论 -
2017/8/25 训练总结(最终版QAQ)
虽然说不上时光飞逝,但是暑假集训确实很快就过去了。这次暑假集训从7月31日到现在,每天从早上八点到晚上八九点钟都待在实验室,坐在电脑前,开始不停的看题,码代码,学习新的知识,总结,写训练日记。说实话过的很累,但也很充实很开心。但我觉得这就够了,能够有兴趣的学习一门自己想学的知识,比被强制灌输一些根本用不到的知识要强很多而且学习的效率也会有很大的不同。还记得刚开始接触acm的时候,大概是在大原创 2017-08-25 22:57:17 · 321 阅读 · 0 评论 -
2017/8/4训练日记(最小生成树 ||Prim算法和Kruskal算法|_·))
今天照惯例a了几道搜索的题,我的天,不停的wa,代码也是相当长。。。。。。今天主要是看了看图论最小生成树方面的算法Prim算法和Kruskal算法Prim算法假设V是图中顶点的集合,E是图中边的集合,TE为最小生成树中的边的集合。则prim算法通过以下步骤可以得到最小生成树: 1:初始化:U={u 0},TE={}。此步骤设立一个只有结点u 0的结点集U和一个空原创 2017-08-04 21:13:04 · 294 阅读 · 0 评论 -
2017/8/11训练日记(二分)
今天本来打算做简单队列的,结果第一个题tle了十次QAQ原因是因为printf原因,改成cout就过了,不知道原因,百度也没找到原因,求大佬解释;开始是记得用scanf和printf效率是高一点的,但这个题12000ms还是tle了;再说二分查找:二分查找就是将查找的键和子数组的中间键作比较,如果被查找的键小于中间键,就在左子数组继续查找;如果大于中间键,就在右子数组中查找,否原创 2017-08-11 21:21:08 · 258 阅读 · 0 评论 -
2017/8/16训练日记(线段树简单入门)
今天也就看了看线段树,初学者慢慢来吧QAQhttp://wenku.baidu.com/view/fe91a24433687e21af45a9e4.html(线段树基本知识)线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线段树中的一个叶结点。对于线段树中的每一个非叶子节点[a,b],它的左儿子表示的区间为[a,(a+b)/2],右儿子表示的区原创 2017-08-16 21:50:30 · 240 阅读 · 0 评论 -
2017/8/8训练日记(继续图论算法|ω・`)顺便cf题解)
图论算法……算法算法…今天趁着昨天刚看的 floyd算法又a了两道题,下午又在cf的练习赛上水了前两个题,第四题怎么都出不来,难受;codeforces 811简单写一下题解吧,代码就不粘上了第一题:题意:Vladik和Valera分别有a和b个糖,然后从Vladik开始拿1个,然后轮到Valera拿2个,然后Vladik开始拿3个,然后轮到Valera原创 2017-08-08 19:53:12 · 493 阅读 · 0 评论 -
2017/8/9训练日记
今天终于a完了25道题,包括dfs,bfs以及图论算法和拓扑排序;其中拓扑排序这个题输入n和m,n表示26个字母前n个字母,m表示有多少个关系,然后输入m个关系,判断是否这n个字母存在一个排序关系如果存在输出在几个关系之后就输出几个关系之后就可以确定,比如第一个测试数据,前四个关系输入之后,就输出结果后两个关系输入不用管,,如果存在环那么就输出冲突,如果不能确定次序就输出不能确定。原创 2017-08-09 19:52:19 · 252 阅读 · 0 评论 -
2017/8/10训练日记
今天下午的练习赛终于成功ak一次了,^O^ 吼吼主要是因为题目容易懂而且代码也常写,不过感觉下次ak就没这么容易了下午做了一场练习赛加上一个二分的题,暑假的练习训练二又开了, 接下来又有的忙了说今天下午的练习赛第一题是给出你年月日输出星期几补一下知识点:最常见的公式:W = [Y-1] + [(Y-1)/4] - [(Y-1)/100] + [(Y-1)/400] +原创 2017-08-10 20:58:35 · 255 阅读 · 0 评论 -
2017/8/3训练日记(DFS&&Codeforces Round #418 (Div. 2))
/** * DFS核心伪代码 * 前置条件是visit数组全部设置成false * @param n 当前开始搜索的节点 * @param d 当前到达的深度 * @return 是否有解 */ bool DFS(Node n, int d){ if (isEnd(n, d)){//一旦搜索深度到达一个结束状态,就返回true原创 2017-08-03 18:19:15 · 265 阅读 · 0 评论 -
2017/8/2训练日记(关于bfs菜鸟入门)
今天一天都是在a搜索的题目,但感觉效率不高,并没有a出多少道题来QAQ先补充个知识点,做题的时候用到了:string &assign(const string &s,int start,int n);把字符串s中从start开始的n个字符赋给当前字符串;assign() 函数将区间[start, end)的元素赋到当前vector,或者赋num个值为val的元素到vector中。原创 2017-08-02 20:30:43 · 327 阅读 · 0 评论 -
2017/8/1训练日记(16cf1题解分析)
上午a了两个dp题,下午则是Codeforces Round上的练习赛,结果并不怎么理想。题解博客:http://codeforces.com/blog/entry/53567五个题,第一题水题:问一个东西可按顺时针和逆时针方向一直旋转,问从初始到末位置所旋转的方向;//^,>,v,首先确定初末位置,分析题意会发现我们只需要判断nmod4的结果,通过余数就可以判断出来,而und原创 2017-08-01 20:13:20 · 388 阅读 · 0 评论 -
2017/7/31训练日记(并查集基础)
今天服务器故障没怎么a题,a了两道广搜的水题。看了看dp的基础课件和几个例题,下午花了半天时间来看的数据结构并查集部分,数据结构部分有关并查集的题目还蛮多的,而且相当的好用。并查集是有合并集合和查找集合两种操作的一种数据结构中的算法。并查集一般用途:1.维护无向图的连通性,判断两个点是否处于同一个连通块内、还有判断增加一条边是否会成环;2.用在求解最小生成树的算法中;并查集原创 2017-07-31 21:31:06 · 311 阅读 · 0 评论 -
2017/8/18训练日记(树状数组简述)
今天也就重点看了下树状数组,下面来记一些基础知识以及和线段树的对比由于我先看的线段树又看的树状数组,其实两个比较类似主要用于查询任意两位之间的所有元素之和,但是每次只能修改一个元素的值;经过简单修改可以在log(n)的复杂度下进行范围修改,但是这时只能查询其中一个元素的值(如果加入多个辅助数组则可以实现区间修改与区间查询)。能用树状数组解决的问题,基本上都能用线段树解决,而线段原创 2017-08-18 21:20:35 · 292 阅读 · 0 评论 -
2017/8/17训练日记 (线段树详解)
今天下午训练赛就a了一个背包的题,然后继续看的线段树的知识这是一个关于天平的题约翰有一架用来称牛的体重的天平.砝码按照它们质量的大小被排成一行.并且,这一行中从第3个砝码开始,每个砝码的质量至少等于前面两个的质量的和. 他想知道,用他所拥有的这些砝码以及这架天平,能称出的质量最大是多少.由于天平的最大承重能力为C.他不能把所有砝码都放到天平上. 现在约翰告诉你每个砝码的质量,以及原创 2017-08-17 20:51:43 · 379 阅读 · 0 评论 -
2017/8/23训练日记
今天一共a了俩题,一个用线段树做的,一个用树状数组做的,其实有的题用多种方法都可以,比如今天用树状数组做的那个实际上用线段树可以做。线段树和树状数组都是用来处理区间问题的,虽然做的题不多但也看了不少题了;有很多都是模板题,只要看出来直接套模板就行;树状数组一般适用于三类问题:1,修改一个点求一个区间2,修改一个区间求一个点3,求逆序列对而用树状数组能够解决的问题,用原创 2017-08-23 21:13:59 · 273 阅读 · 0 评论