
其他
文章平均质量分 61
Lannister_Stark
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HDU1429 胜利大逃亡(续) 【状压搜索BFS】
【题目大意】 高级版的走迷宫,小写字母a~j表示钥匙,分别对应A~J门,求出走出迷宫的最小步数 【解题思路】 首先想一想为什么只要求匹配a~j而不是a~z,发现j是第10号字母,而地图是20*20的,而20*20*(2^10)差不多接近常用的字节大小,由此想到了状压搜索。 于是dp[i][j][k]表示在(i,j)坐标下对应的钥匙的状态,k的某一位上是零表明该位的钥匙还没有拿到,否则表示已原创 2017-04-06 23:51:21 · 453 阅读 · 0 评论 -
POJ2823 Sliding Window 【单调队列、单调栈初步】
【题目大意】 给你一个长度不超过1e6的序列,现在有一个数字k,表示长度为k的子序列自左到右滑动时保持长度为k。 现在要求出该长度为k区间在滑动的过程中区间的最大值最小值。 【解题思路】 如果此题直接模拟或者利用最大值的单调性来做的话,在长度为k的区间上无法保证次大值的正确性。 本题的正确的思路是单调队列。 首先求出每次滑动的最小值。 我们考虑维护一个下标队列,首先将前k的数直接加入原创 2017-04-03 17:27:30 · 447 阅读 · 0 评论 -
SPOJ-LIS2 Another Longest Increasing Subsequence Problem 【三维偏序CDQ】
【题目大意】 首先输入N个整数,接下来N行每行输入两个整数x,y表示i号点的x,y坐标 输出所有满足i 【解题思路】 第一眼看起来像是二维偏序的问题,但是注意到本题其实是在空间里面的一条最长上升折线,所以还需要考虑下标的问题。 所以本题转化为了一个三维偏序问题,指满足i 三维偏序问题,可以使用CDQ学姐发明的算法,用以下一句话概括: 一维排序,二维分治,三维树状数组。 其算原创 2017-04-03 17:46:42 · 556 阅读 · 0 评论 -
大学生程序设计竞赛暨西南地区高校邀请赛 赛后总结
大学生程序设计竞赛暨西南地区高校邀请赛 赛后总结前言又是一次踏入电子科技大学的校门,又是一次半失落半喜悦的走出春芽生长的校园。 多校赛,是一个神奇的比赛。一共11道题,5个小时,每A一道题,都会有志愿者来发气球。 猜猜我们队有几个气球吧。 1个。 是的,只有1个。 作为一只蒟蒻,我只能靠过人的英语能力帮队友看完了所有题,翻译了所有题,然后便只是有时候灵光一闪想出一个复杂度不对劲的算法。比赛原创 2017-04-03 22:57:56 · 710 阅读 · 0 评论 -
SCOI2017 赛后总结及反思
SCOI2017 赛后总结及反思前言前不久才去打了校赛,现在是参加省选,时间变了,经历变了,但是地点没变,仍然是那栋熟悉的实验大楼。我也没变,还是一如既往的弱,一如既往的水。比赛历程D1T1树链剖分裸题,然而我是在省选后的那个周一学的树链剖分,于是0分。 D1T2强力DFS,然而考场上写挂了。 D1T3计算几何,感觉自己还是时间分配不当,花了大量时间来优化30%,结果悲催的拖累了T2……D2T1原创 2017-04-12 23:52:38 · 1565 阅读 · 0 评论 -
C++ Vitual函数
主要是最近做模拟题时遇到了,于是把网上写的特别好的转载过来。 Virtual是C++ OO机制中很重要的一个关键字。只要是学过C++的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如下面例子中的函数print),于是在Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类Base的指针point指向派生类Derived的对象时,对p转载 2017-04-14 22:59:47 · 1253 阅读 · 0 评论 -
c++ 友元函数及友元类
友元是指: 采用类的机制后实现了数据的隐藏与封装,类的数据成员一般定义为私有成员,成员函数一般定义为公有的,依此提供类与外界间的通信接口。但是,有时需要定义一些函数,这些函数不是类的一部分(注意友元函数不是类的一部分),但又需要频繁地访问类的数据成员,这时可以将这些函数定义为该函数的友元函数。除了友元函数外,还有友元类,两者统称为友元。友元的作用是提高了程序的运行效率(即减少了类型检查和安全转载 2017-04-15 08:56:42 · 442 阅读 · 0 评论 -
c++ 指针详解
指针的概念 指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。要搞清一个指针需要搞清指针的四方面的内容:指针的类型,指针所指向的类型,指针的值或者叫指针所指向的内存区,还有指针本身所占据的内存区。让我们分别说明。 先声明几个指针放着做例子: 例一: int *ptr; char *ptr; int **ptr; int (*ptr)[3转载 2017-04-15 09:12:47 · 354 阅读 · 0 评论