Loading [MathJax]/jax/output/HTML-CSS/jax.js

随笔分类 -  OJ - HDU

摘要:链接 : "Here!" 思路 : 两遍BFS, 第一次是从 'Y' 搜索, 搜到 '@' 就将其累加到一个数组中, 这里采用将二维坐标点映射成一维的点, 第二次从 'M' 搜索, 搜到 '@' 就将其累加到一个数组中, 最后扫描一遍地图, 将 ans 更新为字符为 '@' 的累加值最小值. 最 阅读全文
posted @ 2017-11-29 20:30 ojnQ 阅读(186) 评论(0) 推荐(0) 编辑
摘要:链接 : "Here!" 思路 : 记录下所有 "?" , 出现的位置, 然后 DFS 一下, 对于每个位置来说都可以填充 9 种数值, 然后对于判断填充是否合法需要三个标记数组来辅助记录. $visR[i][num] = 1, 代表第 i 行num值已经出现过, visC[i][num] 阅读全文
posted @ 2017-11-29 18:05 ojnQ 阅读(271) 评论(0) 推荐(0) 编辑
摘要:链接 : "Here!" 思路 : 如果直接爆搜的话, 会搜到天荒地老.... QAQ ...., 所以就得利用一些技巧, 因为题目说的是小狗能否在 T(s) 能够恰好到达 Door , 所以可以利用 奇偶剪枝 来 剪掉多余搜索 奇偶剪枝 : 假设只能上下左右移动, 现在起点为 $(sx, 阅读全文
posted @ 2017-11-27 11:23 ojnQ 阅读(148) 评论(0) 推荐(0) 编辑
摘要:链接 : "Here!" 思路 : 搜索判断连通块个数, 所以 DFS 或则 BFS 都行喽...., 首先记录一下整个地图中所有Oil的个数, 然后遍历整个地图, 从油田开始搜索它所能连通多少块其他油田, 只需要把它所连通的油田个数减去, 就ok了 c++ / File Name: E 阅读全文
posted @ 2017-11-27 10:06 ojnQ 阅读(143) 评论(0) 推荐(0) 编辑
摘要:链接 : "Here!" 思路 : 很简单, 就是一个简单的状态搜索, 对于中间的任意状态 number , 它都有三种转移方式 : 1.(number1), 2.(number+1), 3.(number2), 所以直接 BFS 就好了, 需要注意的是判断一下最大值是否 阅读全文
posted @ 2017-11-27 10:02 ojnQ 阅读(123) 评论(0) 推荐(0) 编辑
摘要:链接 : "Here!" 思路 : 最经典的DFS问题, 思路搜索每一行 x, 看看有那些列能合理放置, (x,y) 如果是合法点则放置, 然后搜索下一行, 如果已经合法放置了 N 个点, 则方案数 +1 , 然后回溯 (回溯就是把之前放置的点拿起来, 可以这样理解QAQ吧...) 阅读全文
posted @ 2017-11-27 09:54 ojnQ 阅读(105) 评论(0) 推荐(0) 编辑
摘要:链接: "Here!" 思路: 模拟除法, 当余数再次出现的时候一定是遇到了循环节 ( 可看下图例子 ),否则的话继续除法的步骤,直到被除数为 0 。 注意: 这道题不需要重新申请一个数组来单独存放答案,如果符合要求直接输出即可,如果申请一个数组来存放答案,每次都需要情况答案数组,极大的浪费了时间, 阅读全文
posted @ 2017-06-28 19:34 ojnQ 阅读(316) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 有 n 个城市,从城市 i 到城市 j 需要话费 Aij ,当穿越城市 i 的时候还需要话费额外的 Bi ( 起点终点两个城市不算穿越 ),给出 n × n 大小的城市关系图, 1 代表两个城市无法连通,询问若干次,求出每次询问的两个城市间的最少花费以及打印出路线图 思路 阅读全文
posted @ 2017-06-14 20:14 ojnQ 阅读(272) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 给出一个整数 n ,输出整数 n 的分解成若干个素因子的方案 思路: 经典的整数分解题目,这里采用 试除法 和 用筛法改造后的试除法 对正整数 n 进行分解 方法一:试除法对正整数 n 进行分解 / File Name: hdu1164.cpp Author: WArob 阅读全文
posted @ 2017-05-23 23:03 ojnQ 阅读(379) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 计算 " 1 , n ] 之间素数的个数, (1 Meisell Lehmer算法是计算超大范围内素数个数的一种算法,原理并不明白,由于英语太渣看不懂WIKI上的原理,附WIKI链接:[Here" / File Name: hdu5901.cpp Author: WAro 阅读全文
posted @ 2017-05-23 20:11 ojnQ 阅读(808) 评论(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) 编辑
摘要:链接: "传送门" 题意: 现在给出 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 阅读(142) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 思路: 根据完美队形的定义,可以得知,完美队形实质上是 回文串 + 序列出现峰,因为是在回文串中再次增加了一个要求,所以可以对 Manacher 进行改造,改造的部分应该为暴力匹配的循环 for( ; str[ i + p[i] ] == str[ i p[i] ] ; p[ i 阅读全文
posted @ 2017-05-21 23:11 ojnQ 阅读(160) 评论(0) 推荐(0) 编辑
摘要:链接: "传送门" 题意: 狼抓兔子,狼从 0 出发沿逆时针寻找兔子,每走一步的距离为 m ,所有洞窟的编号为 0 ~ n 1 ,问是否存在一个洞窟使得兔子能够安全躲过无数次狼的搜捕。 思路: 简单的拓展欧几里德,设 st 为兔子洞窟编号( 0 / File Name: hdu1222.cpp Au 阅读全文
posted @ 2017-05-21 19:23 ojnQ 阅读(131) 评论(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) 编辑
摘要:链接: "传送门" 题意: 给出一个 n ,求 1 ~ n 全排列的第 m 个排列情况 思路: 经典逆康托展开,需要注意的时要在原来逆康托展开的模板上改动一些地方。 分析:已知 1 / File Name: hdu1027.cpp Author: WArobot Blog: http://www.c 阅读全文
posted @ 2017-05-18 17:59 ojnQ 阅读(188) 评论(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 阅读(141) 评论(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 阅读(156) 评论(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 阅读(389) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示