摘要: https://www.luogu.org/problemnew/show/P1142 枚举一个基点,枚举另一个点找出斜率,约分后存入。记得要加上那个点本身。 __gcd(x,y),返回值符号与y的符号相同。当x,y其中一个是0的时候,返回值是另一个。 所以根本不用特判直接除以g! 阅读全文
posted @ 2019-01-29 23:19 韵意 阅读(214) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P1355 判断一个点和三角形的位置关系,最简单的思路就是用向量。 首先排除掉和三角形顶点重合的情况。 把三角形设计成一个首尾相接的三个向量,从三个向量的起点连线到P点构成新向量,叉乘判断方向。二维向量叉乘(x1,y1)×( 阅读全文
posted @ 2019-01-28 03:07 韵意 阅读(236) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P2181 对于某条对角线,除去从两端出发的对角线,其他的都与它有1个交点。 每个点有(n-3)条对角线,每条对角线和其余C(n-2,2)条对角线都有1个交点,共有n个点,重复计算交点再除以2,重复计算直线再除以2。 即n( 阅读全文
posted @ 2019-01-28 02:07 韵意 阅读(403) 评论(0) 推荐(0) 编辑
摘要: https://blog.csdn.net/myjs999/article/details/81022546 阅读全文
posted @ 2019-01-27 23:19 韵意 阅读(135) 评论(0) 推荐(0) 编辑
摘要: 1.要从必胜或必败的局面反推 2.SG函数 只要当前状态可以转移到的状态中有一个是败态,那么当前状态就是胜态。胜态为N。 如果当前状态可以转移到的所有状态都是胜态,那么当前状态就是败态。败态为P。 sg函数为每个状态赋一个自然数的值,这个值为除这个状态的后继外的最小自然数。首先定义mex(minim 阅读全文
posted @ 2019-01-27 23:15 韵意 阅读(215) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P1044 由于是用标签搜索进来的,所以这道题一定是有dp的解法。 很显然规定每次加入元素之前可以从栈中清理出任意数量的元素。每一个元素都会贡献一种不同的排法。 试一下。进栈的顺序是1,2,3,...,n,那么可以设计dp[ 阅读全文
posted @ 2019-01-27 19:54 韵意 阅读(219) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/909/C 好像以前做过,但是当时没做出来,看了题解也不太懂。 一开始以为只有上面的for有了循环体,这里的statement就可以随便放,但其实并不是这样,statement的位置会取消比它缩进更多或相等的for的可 阅读全文
posted @ 2019-01-27 19:20 韵意 阅读(214) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/814/B 构造题烦死人,一开始我还记录一大堆信息来构造p数列,其实因为s数列只有两项相等,也正好缺了一项,那就把两种情况构造出来暴力验证对不对就行了。 阅读全文
posted @ 2019-01-27 19:15 韵意 阅读(127) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/346/A 观察了一下,猜测和他们的最大公因数有关,除以最大公因数前后结果是不会变的。 那么怎么证明一定是有n轮呢?我猜就是因为现在至少有几个是互质的,所以总是可以构造出1?具体怎么证明呢?还是看看别人的思路吧…… 首 阅读全文
posted @ 2019-01-27 19:08 韵意 阅读(257) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/559/B 这个题目,分治就好了,每次偶数层可以多一种判断方式,判断它的时间就是logn的(吧),注意奇数层并不是直接退出!题目给了另一种相等的条件。 阅读全文
posted @ 2019-01-27 19:00 韵意 阅读(234) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P1004 这道题分类到简单dp但是感觉一点都不简单……这种做两次的dp真的不是很懂怎么写。假如是贪心做两次,感觉又不能证明这是最优的。 直接看题解,题解要设置4个维度,两个人同时走……但是怎么避免同一个物品被两个人拿呢? 阅读全文
posted @ 2019-01-27 02:54 韵意 阅读(180) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P1012 这道水题居然翻车了,还发现不了bug,服气了。并不是空字符一定比不空要好,要取决于替代它的字符的大小。所以还是直接比较两个字符串互相接后的字典序就好了。 错误代码如下: 翻车的数据还是很简单的: 好吧,正确的写法 阅读全文
posted @ 2019-01-27 00:26 韵意 阅读(151) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P1002 方程很好想,题目也很暴力。感谢题目提示数据会很大。 阅读全文
posted @ 2019-01-26 23:55 韵意 阅读(150) 评论(0) 推荐(0) 编辑
摘要: https://www.luogu.org/problemnew/show/P2602 第二道数位dp,因为“数位dp都是模板题”(误),所以是从第一道的基础上面改的。 核心思想就是分类讨论,分不同情况讨论对答案的贡献。 最最重要的是,该数位取与当前位相等的时候,贡献的个数是受这个数位影响的所有数( 阅读全文
posted @ 2019-01-26 23:28 韵意 阅读(285) 评论(0) 推荐(0) 编辑
摘要: heap,也就是堆,作为常用的优先队列的替代品,其实还是有优越性的。 make_heap(v.first(),v.end(),cmp()) 把容器调整成堆。 push_heap(v.first(),v.end(),cmp()) 在容器本身是堆,往容器的end中插入后,把end后移,再调用这个。 po 阅读全文
posted @ 2019-01-25 14:25 韵意 阅读(107) 评论(0) 推荐(0) 编辑