Wang Xifeng's Little Plothttp://acm.hdu.edu.cn/showproblem.php?pid=5024预处理出每个点八个方向能走的最远距离,然后枚举起点,枚举方向,每走一步都要枚举左转和右转的情况,因为预处理好了,所以可以直接算出来。 1 #include 2...
分类:
其他好文 时间:
2014-09-21 11:59:10
阅读次数:
304
一道好枚举+模拟题目。转换思维视角
这道题是我做的,规模不大N
但仔细一分析发现对每个点进行全部八个方向的遍历100X100X100^8 。100X100个点,每个点在走的时候8中选择,TLE
于是改为另一个角度:
以符合要求的点为拐弯点,朝两个垂直的方向走,求出最远的距离。这样只要对每个点各个方向的长度知道,组合一下对应的就OK。
避免了每个点深搜。
PS:搜索的时候x,y写...
分类:
其他好文 时间:
2014-09-21 01:21:09
阅读次数:
415
http://acm.hdu.edu.cn/showproblem.php?pid=5024
分析:预处理每个点在八个方向的射线长度,再枚举八种L形状的路,取最大值。
注意题意是求一条最长路,要么一条直线,要么只有一个90角,即L型。其实直线就是L形的一个方向长度为0。
代码:
#include
#include
#include
#include
#include
#include
#i...
分类:
其他好文 时间:
2014-09-20 22:25:39
阅读次数:
294
题目:1002 A Corrupt Mayor's Performance Art
题意:有一个长度 n 的序列,初始染色2,有两种操作,P x ,y ,z,区间x---y染色为z,另一种Q x,y,查询区间 x -- y 有几种颜色,并输出,注意会覆盖。
分析:跟POJ 2777一样,不过这个要输出颜色,所以线段树查询的时候顺便把路径存起来打印。代码:
AC代码:
#...
分类:
其他好文 时间:
2014-09-20 20:07:29
阅读次数:
333
给出一个圆形奖牌的半径和一个圆形区域的半径,还有一枚硬币的半径,然后桌面是光滑的,给出圆硬币的速度(大小和方向,vx,vy)和坐标(圆区域和圆奖牌同心且心作为源点),问硬币在圆区域滑动的时间是多少(任何一部分在圆区域都算),硬币碰到圆奖牌会反弹,能量不变(速度不变)
第一次做平面几何题
看了题解,题解的板子真好用
大概来说有三种情况,如下图
第一种是进入圆区而不碰撞,查看h和Rm+r的关系...
分类:
其他好文 时间:
2014-09-18 16:37:44
阅读次数:
230
Problem DescriptionYou are given a tree with N nodes which are numbered by integers 1..N. Each node is associated with an integer as the weight.Your t...
分类:
其他好文 时间:
2014-09-18 16:03:14
阅读次数:
325
2014 ACM/ICPC
Asia Regional Anshan Online
给N个点,M条边组成的图,每一步可以从一个点走到相邻任一点,概率相同,问D步后没走到过每个点的概率
概率DP 测试数据太水了。。。。10000*50*50*50都能过
加个vector优化到
#include "stdio.h"
#include "string.h"
#include "ve...
分类:
其他好文 时间:
2014-09-17 16:50:08
阅读次数:
219
2014 ACM/ICPC
Asia Regional Xi'an Online
对于N个数 n(1 ≤ n ≤ 5×104),
把N个数分成任意个区间,每个区间的值是该区间内不同数字个数的平方和,答案使和最小
DP思路,首先要对数据合并相连相同数字,然后离散化。
数据太弱了。。。。。
然后直接做N*N的DP竟然能AC。。。。比赛时候想到了。。。不敢写。。。
G++AC C++TL...
分类:
其他好文 时间:
2014-09-17 15:14:12
阅读次数:
203
思路:广搜, 因为空格加上动物最多只有32个那么对这32个进行编号,就能可以用一个数字来表示状态了,因为只有 ‘P’ 'S' 'M' '.' 那么就可以用4进制刚好可以用64位表示。接下去每次就是模拟了。 注意: ‘S’ 不是只有一个。 一个东西如果不是'P'在动的话要先判断周围有没有‘P...
分类:
其他好文 时间:
2014-09-17 10:12:12
阅读次数:
183
2014 ACM/ICPC Asia Regional Xi'an Online
对于一个筛子,规定了以底面的四个边为轴,可以进行翻转,给出起始状态,求最少步骤到目标状态。
简单BFS
#include "stdio.h"
#include "string.h"
#include "math.h"
#include "queue"
using namespace std;
...
分类:
其他好文 时间:
2014-09-16 12:41:50
阅读次数:
146