URAL
MissAnnLucky
Cease to struggle cease to live.
展开
-
URAL 1108. Heritage 高精度大数乘法
比赛时想了俩小时都没有想出来,当时只是想用dfs暴搜,好不容易写出来了才发现用unsigned long long都存不下,没想到其实找到规律大数乘法就行了。规律:2 3 7 43 1807 num[4]=(num[3]-1)*num[3];(这个比赛时都没发现)。另外,由于数比较大,是模1000存的。通过近几天做老师的题和前辈们的题发现没有一个OJ题是很直白的,读完题按照题意写程序往往原创 2013-07-31 16:00:51 · 698 阅读 · 0 评论 -
URAL 1250. Sea Burial 从问题中抽象出DFS
dfs第一遍找到海,标记出来;第二遍,把海外面的部分dfs标记出来;第三遍找陆地。 第二遍dfs的起点是图的四周所有的点,这样4个方向dfs就把不被海包围的东西标记了,剩下的一定是被海包围的。 这个题比较坑的是要读好题,分清x,y是横坐标还是纵坐标。#include#include#include#include#defi原创 2013-08-06 15:49:38 · 581 阅读 · 0 评论 -
URAL 1200. Horns and Hoofs 枚举+数学
接触的东西越来越来反而变得不够灵活了,以前碰到的这样的题都要暴力,枚举,两个for循环试试的,今天看到时脑子里接着想暴力会超时的,但是好几个人都200+ms过了,我一直在推导,证明,最后越推越麻烦,一个题也没做出来,其实这个题很简单的,O(A的范围的算法),一个for循环,枚举A的个数,然后根据profit=A*a+B*b-a*a-b*b,是y的二次函数,根据图像b=B/2时最大,然后以此为轴,两原创 2013-08-05 13:38:59 · 821 阅读 · 0 评论 -
URAL 1221. Malevich Strikes Back! 枚举 暴力
3个for循环枚举正方形的边长和中心点的坐标然后判断是否满足条件就可以了。判断时一开始写乱了。#include#include#include#include#define MAXN 110using namespace std;int map[MAXN][MAXN];int n;int abs(int x,int y){ if(x<y) return y-x;原创 2013-08-05 19:30:21 · 1073 阅读 · 0 评论 -
URAL 1117. Hierarchy 数学 找规律 二叉树
十分佩服DC学长,问他递推公式怎么得到的,他说他在纸上一划拉就划拉出来了,好吧。。。。。不过在他的指点下,我又仔细想了想,终于把这道题悟出来了。1.一次递推出1——2,1——4,……1——2^k所需的步骤,这个可以找规律的。 k=1时,即1——2, 步数:0 k=2时, 1——4, 1 k=3时,原创 2013-08-04 13:15:34 · 782 阅读 · 0 评论 -
URAL 1169. Pairs 图中抽象出数学公式dfs
看上去是个图论题,其实可以从里面抽象出一个数学模型的。如果有m个连通分支,一共n个点,每个连通分支点的个数分别是a1,a2,,,,an那么a1*(n-a1)+a2*(n-a1-a2)+a3*(n-a1-a2-a3)+........=k。通过这种方法写的dfs不需要很多的剪枝。代码如下:#include#include#include#include#define MAXN 110u原创 2013-08-03 15:53:30 · 775 阅读 · 0 评论 -
URAL 1069. Prufer Code 读懂题意逆推模拟
这个题关键是读懂题目意思:一棵树,结点按照1--N编号,然后删除当前度数为1的结点中标号最小的一个结点,同时写下这个结点相关联的点的标号,重复这一动作,一直到只剩下一个结点为止。样例解释:输出的有2 1 6 2 6,说明1,2,,6这三个结点肯定不是度数为1 的,第一个叶子删的一定是3,并且3和2相连,然后后面剩下的是1 2 6说明删除的是4,4和1相连,这时候剩下的是2 6 同时3,4已经被原创 2013-08-02 16:14:14 · 733 阅读 · 0 评论 -
URAL 1160. Network 最小生成树
今天刚学的最小生成树问题,下面是用Kruskal算法做的,这是个模板题,最小生成树问题。http://baike.baidu.com/view/247951.htm?qq-pf-to=pcqq.c2c#include#include#include#include#include#includeusing namespace std;struct Edge{ i原创 2013-07-31 21:24:57 · 865 阅读 · 0 评论 -
URAL 1123. Salary 回文数
比赛的时候没怎么读懂题目,其实就是找>=给出的数的回文数。设原先的月薪为a,回文月薪b,先让a的前半部分等于b,再对称着补全b的后半部分,然后判断这时候b比a大,直接输出,否则把b的前半部分加1,再对称着找出后半部分。输出即可。#include#include#include#include#define MAXN 2010using namespace std;int m原创 2013-07-31 13:50:07 · 688 阅读 · 0 评论 -
URAL 1233. Amusing Numbers
这个题想了有两天时间。。。。。。。。智商,IQ,,,,,,,,,,,,,,,,哎,,看了学姐的博客,又研究了一下,下面这段话是她博客中的: 参照了nocow上的解法,照搬过来……易知一个数X在数列中在另一个数Y前,当且仅当X前缀小于Y或前缀相等X短,那么我们分布考虑,比如对于数48561:5位上:10000~48560;4位上:1000~4856;原创 2013-08-06 19:35:20 · 654 阅读 · 0 评论