
UVa
文章平均质量分 64
Fuxey
这个作者很懒,什么都没留下…
展开
-
UVa 610
感谢Morris提供的帮助分析: 1. 对于一个“边双连通分量” 一次dfs就可以将其转化成一个强连通分量(规定了优先顺序 , 不是吗) 2. 桥必须是双向的(反证法)提示: 可以优美的用一个dfs解决输出//// main.cpp// UVa610//// Created by Fuxey on 15/10/5.// Copyright ©原创 2015-10-06 00:29:42 · 747 阅读 · 0 评论 -
UVa 12112 - Iceman
NOIP 临近 , 博主打算做搜索题..........提示:1. 本题理论上是不需要优化的 , 纯bfs就能搞定 , 所以建议大家大胆试一试2. 白书上的h() 函数可以借鉴 , 博主的剪枝效果不大注意: 有很多细节要注意 , 比如用魔法的时候 , 左右冰的状态一定会改变#include #include #include #include #原创 2015-11-02 19:49:37 · 809 阅读 · 0 评论 -
UVa 12123 - Magnetic Train Tracks
如果你能通过白书中级习题的前一题 , 那么这个题目还是很简单的 , 因为博主的数学部分没有进行专题研究 , 目前的理解还是比较基础的 , 可能对新手会有借鉴意义 , 但也不妨大神们来虐虐我啊(#^.^#)提示:1. 锐角三角形是比较难限制的 , 因为要求三个角都是锐角是吧2. 但是如果我能找到一个钝角 , 那么我就一定能确定一个钝角三角形3. 时间肯定不能n^3去搞 , 所原创 2015-11-19 22:47:34 · 843 阅读 · 0 评论 -
UVa 1344 - Tian Ji -- The Horse Racing
孙膑说: 网上的做法好麻烦...... 提示:1. 题目给的是n2. 枚举我打算输几盘 ,那么输掉的比赛按照孙膑的策略肯定是用我最差的那些马儿们打齐公子最好的马3. 其他的马肯定是按照速度大小顺序一一配对 , 证明方法不难想 , 我起个头: 假设前k个已经配好对了 , 如果此时这一个的速度小于齐公子这一个的速度 , 那么.....#include #inclu原创 2015-11-25 20:25:46 · 908 阅读 · 0 评论 -
UVa 11014 - Make a Crystal
博主刚刚看完莫比乌斯反演.........提示:1. 方法是容斥原理 , 记函数 f [ x ] = { (a , b , c) , gcd(a , b , c) == x }2. 不难理解 , 题解是Σ u[ x ] * f [ x ](1=注意: 莫比乌斯函数的推理方法是根据莫比乌斯求和公式而来的 , Σ u [ d ] = ( n==1 ?原创 2015-11-30 20:28:43 · 1122 阅读 · 0 评论 -
UVa 719 - Glass Beads 字符串算法的合集
本文将用三个算法来解决此题提示: ( 如果你是顺着INTERMEDIATE往下做的这个题有一个明显的思路)1. 想办法使用后缀数组 , 因为题目要求的是一种字符串的循环表示形式(AKA 字符串表示法) , 那么可以把字符串写两遍然后跑一跑后缀数组啊2. 跑出来后SA[1]不一定是答案 , 因为还有可能是后面那个加上字符串的某个后缀 , 所以要找第一个SA小于原来字符串长度的后缀原创 2015-12-18 17:27:36 · 1514 阅读 · 0 评论 -
朱刘算法 , 以UVa11183为例
本文参考借鉴了其他文章 , 但原作者以无从考证了 , 表示感谢我对朱刘算法的认识不够深入 , 但希望我的文章能给初学者一些帮助 , 因为很多网友的文章淡化了初学者不理解的细节 , 希望这篇文章能够帮你初步理解朱刘算法背景 该问题是由朱永津与刘振宏在上个世纪60年代解决的,值得一提的是,这2个人现在仍然健在,更另人敬佩的是,朱永津几乎可以说是一位盲人。解决最小树型图的算法后原创 2015-10-12 22:36:48 · 1642 阅读 · 1 评论 -
UVa 10529 - Dumb Bones
分析和提示可以看我的一篇总结性文章 UVa 10529#include #include #include #include #include #include #include #include #include using namespace std;const int maxn = 1100;double pl , pr;double d[m原创 2015-12-09 15:22:30 · 1335 阅读 · 0 评论 -
UVa 11605 - Lights inside a 3d Grid
分析和思路可以看我的一篇总结性文章 UVa 11605#include #include #include #include #include #include #include #include #include #define REP(i , a) for(int i=1;i<=a;i++) using namespace std;double han原创 2015-12-09 15:15:13 · 982 阅读 · 0 评论 -
UVa 1433 - Aerodynamics
三维几何原创 2015-12-27 17:10:08 · 913 阅读 · 0 评论 -
UVa 819- Gifts Large and Small
计算几何 , 旋转卡壳原创 2015-12-26 21:15:57 · 1034 阅读 · 0 评论 -
UVa 802 - Lead or Gold
计算几何中级部分题解原创 2015-12-25 14:07:19 · 1361 阅读 · 0 评论 -
BZOJ1035Risk
卷包裹 , 计算机几何 , 平面图原创 2016-01-15 11:23:01 · 893 阅读 · 0 评论 -
UVa 1440 - Inspection
仅有下界的最小流原创 2016-01-06 23:51:12 · 1983 阅读 · 0 评论 -
UVa 1496 - Peach Blossom Spring
提示: 1. 看到题目 , 最短路? 最小费用流?(博主才做完图论回来做这道题的第一反应) ... 可能你会想到枚举对应关系然后写k个最短路 ,但是可能存在一些点彼此联通 , 共用一些边 导致独立求最短路的情形是错误的。 我们不妨先将问题弱化一下 , 如果求这些点(前K个 和 后K个)彼此都联通, 你想到了什么?2. 看完提示1 没有思路说明你和当时博主一样不熟悉一个根据动态规划为原理原创 2015-10-19 23:45:18 · 814 阅读 · 0 评论 -
UVa 10574 - Counting Rectangles
网上有很多用平行边来找矩形的写法 , 那些方法会更有一般性 , 可以以此类推去找菱形、梯形......提示: 1. 题目中要求的矩形可以由两个点确定 , 那么我们只需要知道另外两个点是否存在即可 , 离散➕标记不难做到代码丢失了 , 所以展示一下伪代码离散化;标记每一个点for(枚举一个点a) for(枚举另一个点b)查找a.x,b.y原创 2015-11-23 21:44:19 · 723 阅读 · 0 评论 -
UVa 10794 - The Deadly Olympic Returns!!!
其实博主第一反应也是三分 ....... 提示:1. 本题一个较好的做法是相对运动 , 即假设一个物体静止 , 然而另一个物体沿着某一个速度运动(两个运动的速度的差,,,这里不准确 , 毋喷)2. 然后就是一个线段和点距离的裸题目了想说的是 , 首先这跟某一个例题不同 , 当时我们只求两个线段的距离 , 但并不要求最近的两个点在同一时刻注意: 博主有一原创 2015-11-18 22:54:32 · 927 阅读 · 0 评论 -
UVa 1304 - Art Gallery
计算几何是个有些许麻烦的专题 , 因为即使是算法对了 , 精度问题也是不可忽视的 , 调试会有些麻烦......提示: 1. 是一个有点裸的半平面交的题目 , 不需要用O(nlogn)复杂度的算法2. 你可以先写写白书上的一个CurPolygon的函数(在半平面交的最开始处)如果你完全那样写估计就会得到WA , 我就是这么干的 , 但并不要紧 , 因为你可能和我一样原创 2015-11-17 23:41:21 · 757 阅读 · 0 评论 -
UVa 12418 - Game of 999
博主本来只想虐虐NOIP级别的暴力的.........1. 本题状态很简单 , 哪些边用了 , 现在各点在哪里 , 把vector状态压缩成一个long long(代码中的ull 是 long long).2. 转移的思路不复杂 , 看看哪些点能够从某一房间转移到另外一些房间 (不知道不预处理的版本能不能过 , 但是博主进行了一次预处理)写写吧 , 虽然肯定超时原创 2015-11-04 17:23:36 · 835 阅读 · 0 评论 -
UVa1375- The Best Name for Your Baby
提示:1. 这是一个dp题 , 不要妄想用bfs来写此题 , 样例都过不了2. dp方程的含义: d [ i ] [ j ] , 用一个大写字母(i+'A') 扩展成长度为j的字典序最小的字符串(不含大写字母)此处请思考些时间 , 怎么转移状态;3. 下面是我自己的转移方法 , 与紫书上的不同 , 紫书上把边拆分成了很多块 , 但对于初学做这个题的人来说 , 把边颠原创 2015-10-20 17:17:02 · 1723 阅读 · 0 评论 -
UVa 1405 - The Ultimate Password
题意:博主不喜欢写这一栏目 , 但是鉴于这个题意有点绕....有n个字符串 , 你的任务是在可以旋转字符串的情况下找到一个拼接字符串使得拼成字符串长度最短的方式 , 例如aabb 与 bbcc可以拼接成aabbcc , 并输出在最短前提下的最小字典序字符串;提示:1. 一道dp题 , 思路并不复杂.2. 题目中有一句: the state of any lock is原创 2015-10-20 22:41:27 · 861 阅读 · 0 评论 -
UVa 1297 - The Minimum Number of Rooks
这确实是一道可以被放在训练指南advanced分类里的dp题提示:1. 强烈建议自己尝试去手动找答案 , 这能帮你理解"车"攻击的特点( 想象一下, 把整个图横向剖分成数行 , 然后把每一行当成一个列的区间 )2. 我构造的dp方程是基于两点贪心:每一行至多一个车可以构造这样的最优答案 , 行数越大的车列数也越大 , 即所有车呈现一个斜向右下的一个形状 , 可以反证原创 2015-10-21 18:10:01 · 848 阅读 · 0 评论 -
UVa 1649
Math+Directly Calculating原创 2015-02-26 00:25:08 · 1343 阅读 · 0 评论 -
UVa 10537 - The Toll! Revisited
提示: 1. 用最短路算法都可以解决 , 但要想好状态是什么意思(d[i] 代表什么东西) 2. 开头结尾要注意 , 本题是开头不收税 , 结尾收税 3. 'A'的优先级比'a'要靠前 , Debug中有一组数据可以看看 4. 题中自己yy了一个函数来求收税以前的值 , 貌似是对的 , 但不会严格证明 , 有兴趣的拿不等式证证 , 记得告诉我注意: 为了之原创 2015-10-08 00:05:10 · 904 阅读 · 0 评论 -
UVa 1078 Steam Roller
借鉴了陈峰在训练指南的思路, 表示感谢提示: 1. 直接求最短路是有困难的, 因为状态不满足独立性 , 所以拆点 2. 将(x , y)细分成 , (x , y , dir , doubled) , 后两个分别为到这个点时的方向、这条边是否两次计算了 3. 将每一个状态用一个id 函数投射到一个具体的数值 , 然后预处理所有状态之间的边(处理好那些double) , 这样原创 2015-10-07 23:43:42 · 759 阅读 · 0 评论 -
UVa 11080
总体思路:裸裸的二分染色题 , 每一记录联通块的总节点数和染色相同的节点数 , 每一次用有较小数目那种颜色的节点去更新答案注意: 可能存在只有一个节点的联通块原创 2015-10-05 20:23:19 · 719 阅读 · 0 评论 -
UVa 10655 - Contemplation! Algebra
初学矩阵 , 还没有习惯用矩阵的思路考虑问题 , 但貌似这个题不用矩阵思路更简单提示:1. 如何用a^( n/2 )+b^( n/2 ) 表示 a^n + b^n 呢注意: 不能够使用unsigned long long 代替 long long , 答案可能是负数(因为a , b可能是虚数)//// main.cpp// UVa10655////原创 2015-10-25 10:50:07 · 1141 阅读 · 0 评论 -
UVa 1560 - Extended Lights Out
从原理上来讲 ,,, 这是个高斯消元的题目 , 但数据也太弱 , 最裸的暴搜就可以啊...........//// main.cpp// UVa 1560//// Created by Fuxey on 15/10/25.// Copyright © 2015年 corn.crimsonresearch. All rights reserved.//#include原创 2015-10-25 11:29:08 · 1362 阅读 · 0 评论 -
UVa 503 - Parallelepiped walk
这不纯粹是一个几何题 , 这道题可以给你很多关于长方体等价的思考 , 我先给大家看看代码(博主当时在网上看解法的时候就几乎只有代码) , 如果你能够像博主一样从代码中明白原理 , 你一定会大有收获 , 但如果碰到了些麻烦 ,剩下的分析在代码后#include #include #include #include #include #include #include #原创 2015-11-13 16:40:52 · 925 阅读 · 0 评论 -
UVa 10712 - Count the Numbers
博主最近一直在积累组合计数方面的经验 , 这一次是数位dp......感谢Remilia's文章的帮助提示:1. 本题思路是利用数位进行计数 , 但网上也有容斥原理和AC动归的做法(其实博主一开始也想用容斥原理做的)2. 这种经典的两端点区间的问题 , 可以分化成两个从0开始的区间的差集3. 状态数组的意义: d[ i ][ j ][ k ][ p ][ q ] 中 , 处原创 2015-11-22 16:05:50 · 1149 阅读 · 0 评论 -
UVa 10417 - Gift Exchanging
分析和思路可以看我的一篇总结性文章 UVa 10417#include #include #include #include #include #include #include #include #include using namespace std;typedef long double ld;ld res[5];int n , book原创 2015-12-09 15:19:36 · 1123 阅读 · 0 评论 -
Round2 - Probability
概率第二轮(aka Intermediate)主要谈4个题的思路和收获UVa 11605 - Lights inside a 3d Grid 关于枚举方式UVa 10417 - Gift Exchanging 关于计算方法UVa 10529 - Dumb Bones 关于离散概率的分布及公式推导的原创 2015-12-08 21:33:57 · 1167 阅读 · 0 评论 -
我的UVa & BZOJ
我的UVa账号名为Fuxey , 因为前期的程序没有时间写入博客 , 以后会慢慢补充上来 , 大家可以在Uhunt中查找我已经通过的题目 ,如果你对我的做法感兴趣我可以发给你我的代码 , 但可能有部分源代码已经丢失 。 UVa上的通过的题目是紫书(刘汝佳的入门经典)的几乎所有题目 ,目前训练指南的题目没有全部覆盖(博主正在努力中) , 博主计划做一个刘汝佳题解全覆盖的博客 ,如果你有更好的原创 2015-10-06 16:01:47 · 2251 阅读 · 0 评论