随笔分类 -  题解

摘要:其实就是一道很简单的栈,只要明白什么情况会被挡住就行了。假如斜率一样则下面的被挡住,假如不一样就算交点,看那个交点在上面就行了。 题干: 代码: 阅读全文
posted @ 2018-09-24 11:35 DukeLv 阅读(153) 评论(0) 推荐(0)
摘要:就是一道离散化的裸题,但是在写的时候遇到了一些不可描述的问题,但是还是很顺利的。 题干: 代码: 阅读全文
posted @ 2018-09-23 21:49 DukeLv 阅读(221) 评论(0) 推荐(0)
摘要:这是洛谷一个比赛中的一道题,和去年NOIP D1T1挺像。我看了一眼之后想“这不是小学奥数吗?求一个数字和就好了呀”。。。然后,60,剩下T了,gg。 只好看正解,但是一脸懵逼???然后看了证明,c**,竟然是先转换然后等差数列求和,说白了又是一道猜结论的题。。。我太菜了。 题干: 60分 AC代码 阅读全文
posted @ 2018-09-22 21:50 DukeLv 阅读(367) 评论(0) 推荐(0)
摘要:这个题是一道差分约束系统的裸题,什么是差分约束系统呢?就是给了一些大小条件,然后让你找一个满足的图。这时就要用差分约束了。 怎么做呢?其实很简单,就是直接建图就好,但是要把所有条件变为小于等于号,假如是大于等于就要移项,小于要减一。然后根据这个建图。 相等怎么办?好办,就直接连就行了,长度随意,反正 阅读全文
posted @ 2018-09-22 21:11 DukeLv 阅读(180) 评论(0) 推荐(0)
摘要:这个题是一个卡特兰数的裸题,为什么呢?因为可以通过划分来导出递推式从而判断是卡特兰数,然后直接上公式就行了。卡特兰数的公式见链接。 https://www.luogu.org/problemnew/solution/P2532 代码实现不难,就是一个高精乘|除低精。 题干: 题目描述 输入输出格式 阅读全文
posted @ 2018-09-22 20:16 DukeLv 阅读(180) 评论(0) 推荐(0)
摘要:这个题是对刚才线性基的一个补充,就是中间有一些小贪心,贪心就很有意思,先按权值排序,然后就瞎搞就行了. 题干: 代码: 阅读全文
posted @ 2018-09-21 11:30 DukeLv 阅读(188) 评论(0) 推荐(0)
摘要:一开始不太会,结果看完题解就是一个建图的网络流。然后就结了。 题干: 代码: 阅读全文
posted @ 2018-09-19 19:16 DukeLv 阅读(155) 评论(0) 推荐(0)
摘要:这个题的n<15,一看就是状压dp。但是状态不是很好想。f[][]存i关的状态j。 这个题另一个关键思想在于倒推,我一开始想的是正推,但是只能记忆化了。 题干: 代码: 阅读全文
posted @ 2018-09-19 15:50 DukeLv 阅读(119) 评论(0) 推荐(0)
摘要:这个题貌似特别奇怪,根本什么算法都想不出来,然而。。。看完题解之后,竟然用了能量守恒?惊了! 这里有一个题解: https://blog.csdn.net/Mima_Reincarnation/article/details/53965251 膜一下自己写出来的大佬,太强了! 题干: 代码: 阅读全文
posted @ 2018-09-19 15:45 DukeLv 阅读(87) 评论(0) 推荐(0)
摘要:这个题正解是最小生成树,但是。。。最大值最小?一看就是二分答案啊!不用多想,直接二分答案加暴力验证就行了。 题干: 代码: 阅读全文
posted @ 2018-09-18 20:12 DukeLv 阅读(185) 评论(0) 推荐(0)
摘要:这就是一道变得比较奇怪的线段树,维护每个区间的最大值和区间和,然后关键在于每次取根号的话数值下降的特别快,不用几次就都是1了,所以每次暴力单点修改,然后直接找区间最大值,假如区间最大值是1的话,就直接返回就行了。 具体看代码就行了。 题干: 代码: 阅读全文
posted @ 2018-09-18 19:16 DukeLv 阅读(143) 评论(0) 推荐(0)
摘要:这个题一开始看着没什么思路,但是一看题解就明白了不少,主要是数学证明,代码很好写。 贴个网址: hzwer 题干: 代码: 阅读全文
posted @ 2018-09-18 16:10 DukeLv 阅读(167) 评论(0) 推荐(0)
摘要:其实就是一个爆搜加剪枝。直接爆搜肯定不行,而A*算法则是想假如剩下都是最优的话,我当前步数还是不足以达到这个状态,那么就直接返回,因为最优状态也无法做到显然不行。 这道题可以用A*最主要就是因为有15步上限这样的明显条件。 还有一个小优化,就是 就是这个dx和dy的枚举顺序,不知道为什么,这样枚举就 阅读全文
posted @ 2018-09-18 16:01 DukeLv 阅读(161) 评论(0) 推荐(0)
摘要:就是基于普通数独上的一点变形,然后就没什么了,普通数独就是进行一边dfs就行了。 题干: 题目描述 输入格式 输入一共15行,包含一个新数独的实例。第奇数行包含左右方向的符号(<和>),第偶数行包含上下方向的符号(^和v)。 输出格式 输出包含9行,每行9个1~9的数字,以单个空格隔开。输入保证解惟 阅读全文
posted @ 2018-09-17 18:43 DukeLv 阅读(231) 评论(0) 推荐(0)
摘要:就是一道最短路的裸题,直接跑spfa就行了。(spfa死了) 最后在答案处判断是否障碍物太多,然后就直接找最大值就行。 (数据特别水,我错误算法60) 题干: 代码: 阅读全文
posted @ 2018-09-16 22:19 DukeLv 阅读(206) 评论(0) 推荐(0)
摘要:平衡树题,求每个点的前驱,照例可以用set水过。。。(平衡树还是不会写) 又新学了一个用法: set <int> ::iterator s1; 这样s1就可以直接附为set中的地址了。但是调用值的时候要加一个*。 题干: 代码: 阅读全文
posted @ 2018-09-13 20:30 DukeLv 阅读(242) 评论(0) 推荐(0)
摘要:其实就是并查集的题。维护一个前缀和,然后用并查集维护前缀和,每次判断是否合理就行了。 题干: 代码: 阅读全文
posted @ 2018-09-13 19:50 DukeLv 阅读(139) 评论(0) 推荐(0)
摘要:想明白算法之后特别水,因为b只有可能出现一次,所以直接在b的左右找就行了,比他大的为1,比他小的为-1,然后维护前缀和就行了。 假如b有可能出现多次呢?按照这种方法好像也很好办,就是枚举每个点就行了,复杂度有点大,所以直接求一遍前缀和就行了。 题干: 代码: 阅读全文
posted @ 2018-09-13 19:21 DukeLv 阅读(202) 评论(0) 推荐(0)
摘要:原来做过,看大家都做这道题都热情高涨,沈爷爷debug这道题4天,作为告诉他这个题的人,我还有点不好意思。。。我自己也就做了一个小时。 其实这个题思路还好,就是维护每个点的出块次数和跳出块的位置,然后访问的时候直接调用块。 这个题还有一个比较坑的地方,就是每个绵羊只有到队尾的时候才会被弹飞,所以不用 阅读全文
posted @ 2018-09-12 23:37 DukeLv 阅读(132) 评论(0) 推荐(0)
摘要:先检讨一下,前一段时间开学,做题懒得发博客,也不总结。。。现在捡起来。 这个题一看是裸的二分图匹配,但是仔细一看还有一些区别,就是必须要连续的连接,否则直接退出。因为前一道题答不出来的话后面的题就没有机会了。 顺便练一下匈牙利算法,跑二分图还是很好写的。 题干: 代码: 阅读全文
posted @ 2018-09-12 11:57 DukeLv 阅读(453) 评论(0) 推荐(0)