摘要:
uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3726 新增加与圆有关的模板,过了这题。 使用模板的时候犯了一个小错误,忘记了自己的点到直线的距离是一个有向距离,结果就把自己坑了。View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <set> 5 #include <vector& 阅读全文
摘要:
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2896 一道几何模拟题。题意是,两只狗分别在两条折线上运动,已知运动轨迹,以及他们是同时到达折线的末端的。问题是,要求他们运动过程中最大距离与最小距离的差是多少。 表示我十分欣赏这题的做法。估计是我太饿了的缘故,居然看了天都没有想到可以将同时运动转化为相对运动,然后用静态的方法来解决这个动态的问题。如果假设A是不动的,那么这时候,我们只要搞到相对位移就可以解决问题了。代码如下:Vi 阅读全文
摘要:
https://icpcarchive.ecs.baylor.edu/index.php?option=onlinejudge&page=show_problem&problem=1696 今天还做回以前做过的一道题。 这题主要是离散化,然后将点的个数转化为前缀和。View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <algorithm> 4 #include <iostream> 5 #include <vector> 6 #include &l 阅读全文
摘要:
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2119 在uva跪了一个下午后提交这题,AC了。这题更简单,就是套入几何模板,求出交点就可以了。 这题测试通过了几何模板中的相交判断并求出交点等几个函数。代码如下:View Code 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <vector& 阅读全文
摘要:
https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1264 看刘汝佳的训练指南过的第一道计算几何题。开始的时候看到这题就觉得这是水题,于是瞬间就把代码打出来了。不过在debug的时候,搞着搞着发现如果像我一开始的时候那样做,好多特殊情况不能正常处理,加了好多特判都还是能找出bug。最后在搞出下面那么多数据,觉得这样特判简直就是一个无底洞,根本就不能正确的得到答案。。。- - 最后在wa到忍不住的情况下,只好求助于佳哥 阅读全文
摘要:
3321 -- Apple Tree 做回之前个人赛超时到比赛结束的题。 这题就是一个简单的树形结构转化为线性结构,然后套用树状数组求区间和。不过不知道什么原因,用vector构建邻接表在dfs的时候超时了,转成链表就360ms过了。对于才1e5条边这么小的规模,我还是第一次遇见STL会超时的。代码如下:View Code 1 #include <cstdio> 2 #include <iostream> 3 #include <algorithm> 4 #include <vector> 5 #include <cstring> 6 阅读全文
摘要:
Jan's LightOJ :: Problem 1052 - String Growthuva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3196 很好的一题,也是我的队友xdp给我的题。 题意是根据字符串的变化规律,给出第n次和第m次变化的时候的长度,求出第k次变化时的长度。 开始的时候感觉这是难题,不过仔细想了一下,发现只需要高斯消元(其实在我这里只是一个简单的解二元一次方程组罢了。。囧)解出起始的时候a和b的个数,然后套上矩阵快速 阅读全文
摘要:
昨天忘记写总结了,今天补上。 昨天是我们学校的校赛,也是从早上9点开始打的。这次的比赛是个人赛,搞的很没气氛。比赛是在我们OJ上judge的,而不是用PC^2提交,这就没有了省赛前训练的感觉了。 比赛之前,我和我的队友约定好了,我先做C和F两题,可是在比赛开始的时候,快速的看了一下那两题,瞬间就不会了,所以开始了5分钟左右才去看水题。跟着board,A是一道水题,题意是给出I1,I2,..,In,T1,T2,..,Tm,问(I1*I2*..*In)能不能被(T1*T2*..*Tm)整除。我当时很快就想到了用GCD的方法,两两相约分,最后判断Tk(1..m)是否都是1。打的时候,想了一下... 阅读全文
摘要:
Jan's LightOJ :: Problem 1132 - Summing up Powers 我的队友xdp给我做的一道矩阵快速幂的题。昨晚花了两三个小时,想出了怎么用矩阵来实现转移,今天早上校赛前打了预处理,然后校赛回来以后就把它A了! 题意就是求给出式子的结果mod 2^32的最终结果。 开始的时候,还真的想不到怎么用矩阵实现快速的状态转移,只好百度一下这个式子有没有什么公式。不过,一轮搜索过后还是没有可以套矩阵的方法,或者可以快速求解的公式,所以只好把这个式子写成关于n的递推式,然后自己观察这个式子每次的变化。在观察的时候,我尝试着每两个(n-1)^k和n^k求差,如果得到 阅读全文
摘要:
Problem - 3804 很久之前就学习的树链剖分,一直不敢写,感觉是一种十分高级的数据结构。不过,经过一段时间对dfs和bfs的训练以后,开始感觉对树链剖分有感觉了。于是,我就赶紧查看回以前的树链剖分的相关资料,然后最后决定把这个入门的树链剖分给灭了! 这题的题意是,给出一棵带有边权的树,询问给定的点到编号为1的点的路径之间不超过给定的值的最大边权是多少。 将树按照重链和轻链划分以后,在重链上构建一棵线段树,然后对其进行维护。每次询问的时候就不停的找向根结点移动的路径,如果是在重链上就利用线段树快速的跳跃到链的顶端,否则就逐步移动。逐步移动的以及在重链上跳跃的整体时间复杂度是O(l... 阅读全文