05 2017 档案

摘要:链接: "传送门" 题意: 判断 m 组数,如果某一组中出现负数就判断这一组中是否存在与之相反的数,如果每一组中都满足要求则输出 "NO" 反之输出 "YES" 思路: 对于任意的一组数,if v[i] File Name: Codeforces787B.cpp Author: WArobot Bl 阅读全文
posted @ 2017-05-25 12:31 ojnQ 阅读(218) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 这个人每次都去公园捡石子,她有两个口袋,每个口袋最多装 k 个石子,公园有 n 种石子,每种石子 w[i] 个,询问最少几天能将石子全部捡完 思路: 排个序,尽量每天都多装,如果 k w[i] ,那就直接将石子全部放入口袋,如果 k File Name: Codeforc 阅读全文
posted @ 2017-05-25 11:07 ojnQ 阅读(206) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: ok 题意略 思路: 将问题转化成求 b + a x = d + c y,简单拓欧,但是需要注意的是 x = 0 且 y = 0 / File Name: codeforces787A.cpp Author: WArobot Blog: http://www.cnblog 阅读全文
posted @ 2017-05-25 10:51 ojnQ 阅读(300) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 输入 n ,判断 n 是否为素数,如果是合数输出 n 的最素因子 思路: Pollard rho经典题 / File Name: Pollard_rho_Test.cpp Author: WArobot Blog: http://www.cnblogs.com/WArob 阅读全文
posted @ 2017-05-24 14:06 ojnQ 阅读(355) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 给出一个整数 n ,输出整数 n 的分解成若干个素因子的方案 思路: 经典的整数分解题目,这里采用 试除法 和 用筛法改造后的试除法 对正整数 n 进行分解 方法一:试除法对正整数 n 进行分解 / File Name: hdu1164.cpp Author: WArob 阅读全文
posted @ 2017-05-23 23:03 ojnQ 阅读(376) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 计算 " 1 , n ] 之间素数的个数, (1 Meisell Lehmer算法是计算超大范围内素数个数的一种算法,原理并不明白,由于英语太渣看不懂WIKI上的原理,附WIKI链接:[Here" / File Name: hdu5901.cpp Author: WAro 阅读全文
posted @ 2017-05-23 20:11 ojnQ 阅读(804) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 求 N 的拆分数 思路: 吐嘈: 求一个数 N 的拆分方案数,但是这个拆分方案十分 cd ,例如:4 = 4 , 4 = 1 + 3 , 4 = 3 + 1 , 4 = 2 + 2 , 4 = 1 + 1 + 2 , 4 = 1 + 2 + 1 , 4 = 2 + 1 + 阅读全文
posted @ 2017-05-22 23:25 ojnQ 阅读(189) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 题目给出费马小定理:Fermat's theorem states that for any prime number p and for any integer a > 1, ap = a (mod p). 我们知道Miller Rabin素数测试的算法原理就是基 阅读全文
posted @ 2017-05-22 15:06 ojnQ 阅读(293) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 现在给出 Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n 1) + F(n 2) (n =2). 问第 n 项能不能整除 3 思路: F(n) % 3 == 0 可以推导出 F(n) = ( F(n 1)%3 + F( 阅读全文
posted @ 2017-05-22 11:00 ojnQ 阅读(141) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: 根据完美队形的定义,可以得知,完美队形实质上是 回文串 + 序列出现峰,因为是在回文串中再次增加了一个要求,所以可以对 Manacher 进行改造,改造的部分应该为暴力匹配的循环 for( ; str[ i + p[i] ] == str[ i p[i] ] ; p[ i 阅读全文
posted @ 2017-05-21 23:11 ojnQ 阅读(159) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: KMP模板题,直接生成 S 串,然后匹配一下 P 串在 S 串出现的次数,注意处理嵌套的情况即可,嵌套的情况即 S = "aaaaaa" ,P = "aa" P 串在S 串中出现了 5 次。 / File Name: jsk02e2.cpp Author: WArobot 阅读全文
posted @ 2017-05-21 22:28 ojnQ 阅读(309) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: 简单拓展欧几里德,分析后可以得到方程 x + m t = y + n t + L s( s控制圈数,t代表跳t次会碰面 ),经过化简可以得到 ( n m ) t + L s = ( x y ),无解输出个"Impossible",有解就求出最小整数解即可,最小整数解求法为 阅读全文
posted @ 2017-05-21 20:58 ojnQ 阅读(229) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 题目中给出一个循环 for (variable = A; variable != B; variable += C) ,这个东东还需要 mod 2^k 问至少多次能退出,如果进入死循环输出输出"FOREVER" 思路: 简单拓欧嘛,简单分析一下 A + C x = B + 阅读全文
posted @ 2017-05-21 20:24 ojnQ 阅读(176) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 狼抓兔子,狼从 0 出发沿逆时针寻找兔子,每走一步的距离为 m ,所有洞窟的编号为 0 ~ n 1 ,问是否存在一个洞窟使得兔子能够安全躲过无数次狼的搜捕。 思路: 简单的拓展欧几里德,设 st 为兔子洞窟编号( 0 / File Name: hdu1222.cpp Au 阅读全文
posted @ 2017-05-21 19:23 ojnQ 阅读(129) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 求解方程 X a + Y b = 1 的一组最小非负 X 的解,如果无解输出 "sorry" 思路: 裸 exgcd / File Name: hdu2669.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot 阅读全文
posted @ 2017-05-21 18:46 ojnQ 阅读(133) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: Manacher模板题,寻找串中的最长回文子串 / File Name: hdu3068.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot/ Created Time: 2017年05月19日 星期五 13时 阅读全文
posted @ 2017-05-20 15:57 ojnQ 阅读(192) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: 拓展欧几里德模板题,设大圣至少翻转 t 次,大圣起始位置为 x ,大圣目标位置为 y + n s ( 大圣到达目标位置 y 可能需要多圈,所以用 s 来表示圈数 ),因为只能逆时针翻转所以可以得到一个方程 x + D t = y + n s ( 使用D与d区分 ),将方程 阅读全文
posted @ 2017-05-20 15:42 ojnQ 阅读(187) 评论(0) 推荐(1) 编辑
摘要:1. 康托展开 康托展开的公式是 X=an (n 1)! + an 1 (n 2)! + ... + ai (i 1)! + ... + a2 1! + a1 0! 其中,ai为当前未出现的元素中是排在第几个(从0开始)。 举个例子来说明一下。例如,有一个数组 s = ["A", "B", "C", 阅读全文
posted @ 2017-05-18 18:36 ojnQ 阅读(318) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 给出一个 n ,求 1 ~ n 全排列的第 m 个排列情况 思路: 经典逆康托展开,需要注意的时要在原来逆康托展开的模板上改动一些地方。 分析:已知 1 / File Name: hdu1027.cpp Author: WArobot Blog: http://www.c 阅读全文
posted @ 2017-05-18 17:59 ojnQ 阅读(186) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 求 N^N 的个位 思路: 快速幂水题 / File Name: hdu1061.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot/ Created Time: 2017年05月17日 星期三 22时50分0 阅读全文
posted @ 2017-05-17 22:57 ojnQ 阅读(140) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: 高精度水题 / File Name: hdu1047.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot/ Created Time: 2017年05月16日 星期二 21时16分38秒 / include u 阅读全文
posted @ 2017-05-16 21:24 ojnQ 阅读(165) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: 高精度乘法板子题,高精度耗时又耗空间...... / File Name: hdu1042.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot/ Created Time: 2017年05月16日 星期二 21 阅读全文
posted @ 2017-05-16 21:16 ojnQ 阅读(183) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: A + B 高精度,板子题 / File Name: hdu1002.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot/ Created Time: 2017年05月16日 星期二 20时08分28秒 / i 阅读全文
posted @ 2017-05-16 21:07 ojnQ 阅读(181) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 裸卡特兰数,但是必须用大数做 balabala: 上交高精度模板题,增加一下熟悉度 / File Name: hdu1023.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot/ Created Time: 2 阅读全文
posted @ 2017-05-11 20:30 ojnQ 阅读(154) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: 现在给出 n = A % 9973,n = A A/9973×9973,已知 B|A ,设 A = Bx,可以得到如下形式的式子:Bx + 9973×y = n ,因为gcd( B , 9973 ) = 1,所以可以用 exgcd 来求出 Bx + 9973×y = 1 阅读全文
posted @ 2017-05-10 23:33 ojnQ 阅读(385) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 给出 n 个点,判断能不能构成一个正 n 边形,这 n 个点坐标是整数 思路: 这道题关键就在与这 n 个点坐标是正整数!!!可以简单的分析,如果 n != 4,那一定就不能构成正 n 边形,否则暴力一下找到最小距离,这个最小距离一定是最短边长,暴力查找一下等于这个边长边 阅读全文
posted @ 2017-05-10 20:21 ojnQ 阅读(205) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: 苹果m个,盘子n个。假设 f ( m , n ) 代表 m 个苹果,n个盘子有 f ( m , n ) 种放法。 根据 n 和 m 的关系可以进一步分析: 0. 特殊的 n = 1 || m = 1 || n = 0 时只有一种方法 1. 当 m = n时,这时候有两种情 阅读全文
posted @ 2017-05-10 20:04 ojnQ 阅读(1106) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 给出n个数,这n个数中只有一种数出现奇数次,其他全部出现偶数次,让你找到奇数次这个数 思路: 简单异或运算题 / File Name: hdu2095.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot/ Cr 阅读全文
posted @ 2017-05-10 15:55 ojnQ 阅读(110) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 典型约瑟夫环问题 约瑟夫环模板题: n个人( 编号 1~n )在一个圆上,先去掉第m个人,然后从m+1开始报1,报到k的人退出,剩下的人继续从1开始报数,求最后剩的人编号 / File Name: poj3517.cpp Author: WArobot Blog: htt 阅读全文
posted @ 2017-05-10 15:52 ojnQ 阅读(222) 评论(0) 推荐(0) 编辑
摘要:POJ 1988 Cube Stacking( 带权并查集 ) 非常棒的一道题!借鉴 "“找回失去的”博客" 链接: "传送门" 题意: P次查询,每次查询有两种: 1. M x y 将包含x的集合移动到y上面 2. C x, 计算x下面有几个元素。用p[x]表示x的根结点, 思路: cnt[x] 阅读全文
posted @ 2017-05-09 00:53 ojnQ 阅读(171) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: 增加num[] 记录集合中的个数,maxx[] 记录集合中最大值,挺不错的并查集练习题,主要是 unite 函数里如何改变一些东西,挺好的题,能用C尽量不用C++,效率差蛮大的! / File Name: tat2144.cpp Author: WArobot Blog: 阅读全文
posted @ 2017-05-08 19:20 ojnQ 阅读(202) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 给出 n 个点,求出这 n 个点中最远的两个点距离的平方 思路: 最远点对一定会在凸包的顶点上,然后直接暴力找一下凸包顶点中距离最远的两个点 / File Name: poj2187.cpp Author: WArobot Blog: http://www.cnblogs 阅读全文
posted @ 2017-05-08 14:57 ojnQ 阅读(171) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 输入一个数 n 代表有 n 组操作,P 是在平面内加入一条线段,Q x 是查询第 x 条线段所在相交集合的线段个数 例如:下图 5 与 1、2 相交,1 与 3 相交,2 与 4 相交,所以这个相交集合的线段为 1、2、3、4、5,所以 Q 5 答案为 5 思路: 1. 阅读全文
posted @ 2017-05-08 14:25 ojnQ 阅读(188) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 给出 n 个线段找到交点个数 思路: 数据量小,直接暴力判断所有线段是否相交 / File Name: hdu1086.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot/ Created Time: 2017 阅读全文
posted @ 2017-05-07 23:50 ojnQ 阅读(125) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 略 思路: 数据量很小,直接暴力所有线段 / File Name: hdu2150.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot/ Created Time: 2017年05月07日 星期日 23时09分 阅读全文
posted @ 2017-05-07 23:32 ojnQ 阅读(249) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 给出二维坐标轴上 n 个点,这 n 个点构成了一个城堡,国王想建一堵墙,城墙与城堡之间的距离总不小于一个数 L ,求城墙的最小长度,答案四舍五入 思路: 城墙与城堡直线长度是相等的,当城堡出现拐角时,城墙必然会出现一段圆弧,这些圆弧最终会构成一个半径为 L 的圆,所以答案 阅读全文
posted @ 2017-05-07 20:27 ojnQ 阅读(342) 评论(0) 推荐(1) 编辑
摘要:链接: "传送门" 题意: 一个小朋友开生日派对邀请了 F 个朋友,排队上有 N 个 底面半径为 ri ,高度为 1 的派,这 F 个朋友非常不友好,非得“平分”这些派,每个人都不想拿到若干快小派,只想拿到一整块切好的派,当然形状可以不同,但是体积必须相同他们才能友好的玩下去......,现在求每个 阅读全文
posted @ 2017-05-05 23:22 ojnQ 阅读(245) 评论(0) 推荐(0) 编辑
摘要:题意: 一个钢棍在两面墙之间,它受热会膨胀成一个圆弧形物体,这个物体长 S = ( 1 + n C ) L,现在给出原长 L ,温度改变量 n ,和热膨胀系数 C,求膨胀后先后中点的高度差。 思路: "戳这里 小優YoU巨巨写的题解挺好的!" balabala: 1. 关键还是得找到变量之间的关系 阅读全文
posted @ 2017-05-05 23:08 ojnQ 阅读(158) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 求影子长度 L 的最大值 思路: 如果 x = 0 ,即影子到达右下角时,如果人继续向后走,那么影子一定是缩短的,所以不考虑这种情况。根据图中的辅助线外加相似三角形定理可以得到 L = D (h x)/(H x) + x , 再经过一些变形后可知这个 L = D ( H 阅读全文
posted @ 2017-05-05 22:52 ojnQ 阅读(364) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 给一个 n ,输出 Fibonacci 数列第 n 项,如果第 n 项的位数 = 8 位则按照 前4位 + ... + 后4位的格式输出 思路: n = 40 时,需要解决两个问题 1. 后 4 位可以用矩阵快速幂求出,非常简单 2. 前 4 位的求法借鉴 "此博客!" 阅读全文
posted @ 2017-05-04 23:23 ojnQ 阅读(330) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: n个小朋友围成一个环( 2 (i+n 1)%n+R A(i+1)%n )个苹果( 题目有误 ) 求 m 次游戏后每个小朋友的苹果数量。 思路: 一开始没有看到 获得这两个字,gg, ,也就是说 A(i) = L A(i+n 1)%n+R A(i+1)+A(i) , 那这道 阅读全文
posted @ 2017-05-04 20:18 ojnQ 阅读(184) 评论(0) 推荐(0) 编辑
摘要:蒟蒻的我还需深入学习 链接: "传送门" 题意: 给出一个长度为 n,n 不超过100的 01 串 s ,每当一个数字左侧为 1 时( 0的左侧是 n 1 ),这个数字就会发生改变,整个串改变一次需要 1s ,询问 M s 后此串变为什么样子,例如 0101111 ,1s 后变为 1111000 思 阅读全文
posted @ 2017-05-04 16:45 ojnQ 阅读(303) 评论(0) 推荐(1) 编辑
摘要:链接: "传送门" 题意: 解 N 连环最少步数 % 200907 思路: 对于 N 连环来说,解 N 连环首先得先解 N 2 连环然后接着解第 N 个环,然后再将前面 N 2 个环放到棍子上,然后 N 连环问题变成了 N 1 连环问题,然后将递推关系式化成矩阵形式然后用矩阵快速幂解决就ok了 递推 阅读全文
posted @ 2017-05-03 23:23 ojnQ 阅读(149) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 输出第 n 年向上小三角形的个数 % 10^9 + 7 思路: 设 Fn 为第 n 年向上小三角形的个数,经过分析可以得到 Fn = 3 Fn 1 + ( 4^(n 1) Fn 1 ),根据这个递推式可以用矩阵快速幂来解决。 下面三个矩阵设为矩阵 a ,b ,ans 矩阵 阅读全文
posted @ 2017-05-03 20:42 ojnQ 阅读(251) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 一个队列是由字母 f 和 m 组成的,队列长度为 L,那么这个队列的排列数为 2^L 现在定义一个E queue,即队列排列中是不含有 fmf or fff ,然后问长度为L的E queue的个数 % M 思路: 这道题的关键是找到递推关系!递推关系为:Fn = Fn 1 阅读全文
posted @ 2017-05-03 19:06 ojnQ 阅读(197) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 求式子的值,并向下取整 思路: 然后使用矩阵快速幂进行求解 balabala: 这道题主要是怎么将目标公式进行化简,化简到一个可以使用现有知识进行解决的一个过程!菜的扣脚...... 还是蒟蒻 / File Name: hdu2256.cpp Author: WArobo 阅读全文
posted @ 2017-05-03 18:19 ojnQ 阅读(225) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: 简单矩阵快速幂,算完 A^k 后再求一遍主对角线上的和取个模 / File Name: hdu1575.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot/ Created Time: 2017年05月02日 阅读全文
posted @ 2017-05-02 21:13 ojnQ 阅读(117) 评论(0) 推荐(0) 编辑
摘要:下列图表转载自 "efreet" 链接: "传送门" 题意: 给出递推关系,求 f(k) % m 的值, 思路: 因为 k= 10 时 f(x) = a0 f(x 1) + a1 f(x 2) + a2 f(x 3) + …… + a9 f(x 10),可以理解为这是两个行列是乘积的值,经下面分析可 阅读全文
posted @ 2017-05-02 20:32 ojnQ 阅读(111) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 这个游戏是一个2D打飞机游戏,飞机以速度 v 水平飞行,它是一个简单的多边形,玩家从( 0 , 0 )向上射击,子弹有一个出速度 b ,子弹可以看作一个点,打中飞机边缘是无法击落飞机的,只有子弹进入飞机内部才能击落飞机,子弹受重力的影响,给出重力加速度 g ,XXX想知道 阅读全文
posted @ 2017-05-02 18:45 ojnQ 阅读(186) 评论(0) 推荐(0) 编辑
摘要:做题的时候经常遇到深度递归的,当然,可以改成非递归形式。如果写成递归形式会爆栈,所以可以用手工扩展栈。 微软的编译器(C++) pragma comment(linker, "/STACK:102400000,102400000") G++ int size = 256 阅读全文
posted @ 2017-05-02 03:24 ojnQ 阅读(412) 评论(0) 推荐(0) 编辑
摘要:1113 矩阵快速幂 链接: "传送门" 思路: 经典矩阵快速幂,模板题,经典矩阵快速幂模板。 / File Name: 51nod1113.cpp Author: WArobot Blog: http://www.cnblogs.com/WArobot/ Created Time: 2017年05 阅读全文
posted @ 2017-05-01 23:37 ojnQ 阅读(240) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 给出n个点围成的一个多边形,现在有m个点p,询问p是否在多边形内,你可以认为这些点均不同且输入的顶点是多边形中相邻的两个顶点,最后的顶点与第一个相邻并且每一个顶点都连接两条边( 左右 ),所以这个图形是个简单的多边形。 思路: 经典判断点是否在多边形内的题 / File 阅读全文
posted @ 2017-05-01 15:16 ojnQ 阅读(237) 评论(0) 推荐(0) 编辑