自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Tconan99

磕碜的小男生

  • 博客(18)
  • 收藏
  • 关注

原创 HDU 1753 大明A+B && 大实数

快要去regional突然发现三个人都不会java,就学了一会儿切几道水题。题意:给你两个大实数,求和解法:JAVA的BigDecimal超级方便,不过有两个trick:一个是有些时候会强制用指数表示实数,另一个是后缀0,b = b.stripTrailingZeros();这是去除后缀0,b.toPlainString();转换成非指数表示的字符串。很有用的呦~代码:impo

2013-10-29 22:52:28 825

原创 HDU 4080 Stammering Aliens && 后缀数组

题意:给你数字m和一个字符串,问你在字符串中至少出现m次的子串的最大长度,并输出子串最后出现的首字母的位置,如果长度相同时有多种情况取最后一次最靠后出现的那个。(没考虑这个,WA了好几天。我是弱渣渣~)解法:先求出后缀数组,然后二分长度,判断这个长度是否出现过m次,如果出现了m次 ,先判断长度是否是最大,再判断最后一个是否足够靠后。代码:#include#include#inc

2013-10-20 10:01:45 758

原创 HDU 3518 Boring counting && 后缀数组

题意:每次给你一个字符串,问"子串不重叠出现至少两次"这样子串的个数。解法:先求后缀数组,sa 表示 第几个后缀,height[i]表示 sa[i-1]与sa[i]的最长公共前缀。之后就用for循环来寻找每一个长度的子串的个数:当height[i]>=len时,就更新最大右编号和最小左编号。反之则,判断右编号减去左编号是否大于等于len,如果大于就把ans++,最后给左编号和右编号赋初值。近乎

2013-10-18 17:35:34 609

原创 HDU 1071 The area && 抛物线与直线积分面积

这个题,是我请教包子学姐,让她帮我导出公式,然后做的。。。题意:给你三个点p1、p2、p3,这三个点可以确定一个抛物线,p1是顶点,p2和p3确定yiti#include #include#include#include#include#include#include#include#include#define inf 0x3f3f3f3f#define Inf

2013-10-15 14:21:01 1005

原创 POJ 2778 DNA Sequence && AC自动机 矩阵 矩阵加速

暑假刚学完AC自动机模板的时候,看见这道题就感觉这题好难,经过几次复习与学习,突然发现这题不是那么的难。题意:给你10个只由‘A’、‘T’、‘C’、‘G’这四个字母组成的最大长度为10的字符串。问有多少个不同的长度为n (1 的字符串。结果对100000取余。解法:之前做的都是状压DP,见到这题也想这么做,突然发现长度略大,DP一定TLE。由于数据量是10^9,本能反应就是log(n)算法

2013-10-14 21:02:44 579

原创 HDU 1086 You can Solve a Geometry Problem too && 简单几何

题意:给你一百条线段,问这些线段交点的个数,重复交点需要重复计算。解法:先存下所有线段,然后双重for循环,两两判断是否相交,先求两条直线是否相交,再判断交点是否在线段上,统计个数。代码:#include #include#include#include#include#include#include#include#include#define inf 0x3f

2013-10-13 18:46:20 602

原创 HDU 1088 Write a simple HTML Browser && 字符串模拟

一道很水的字符串模拟题意:给你三种单词 : ""换一个新行。""如果不处在一个新行就换一个新行,输出80个‘-’,再换一个新行。 其他,如果本行字符数超过80则换新行,否则直接输出。解法:字符模拟,记录本行字符数,每输入一个单词就处理一下。代码:#include #include#include#include#include#include#include#in

2013-10-13 16:34:30 758

原创 HDU 1097 A hard puzzle && 快速幂

这题没用long long WA了一次,改错了又WA了一次,3A。。。题意:给你了两个数字a、b,求a^b的最后一位。解法:快速幂,对10取余,由于 2^30 * 2^30 会超int 所以要用long long。代码:#include #include#include#include#include#include#include#include#includ

2013-10-13 15:52:36 570

原创 HDU 1026 Ignatius and the Princess I && BFS+记录路径

上课的时候,想找一道水题随便写写玩玩,没想到WA了,之后我改了一天也没找到错误在哪,没办法只好推到重写了,就莫名A了,我还是太菜了。。。题意:给你一张地图,'.'表示可以走的路,'X'表示不可以走的墙,'1'-'9'表示有怪兽,走到有怪兽的格子必须先杀死怪兽才能继续走。起点是(0,0),终点是(n-1,m-1)。如果可以去,就输出话费最小时间的路径,如果不可以就输出那段英文。解法:宽搜,只

2013-10-12 19:48:21 795

原创 HDU 4273 Rescue && 3D凸包模板题

这种题每次都是抄袭模板,自己都写不出来。。。题意:给你一个3D凸包图形(题目保证是一个3D凸包图形)。问你它的重心到每个平面的最近距离。解法:模板题。关键是求重心,类似于求平面凸包的重心,先假设一个初始点,然后求每个面与这个点的有向体积,因为这个物体的密度是均匀的,所以可以根据体积算出平移向量,之后求这个向量和,就是重心。代码:#include #include#inclu

2013-10-11 19:08:46 569

原创 HDU 4758 Walk Through Squares && AC自动机+状压DP

因为写错了一个变量名,debug了半个小时,又犯这样的错误。以此为戒。。。题意:给你n个R、m个D,用这些字母组成一个字符串,再给你两个用R、D组成的单词,问你有多少种字符串包含这两个单词,单词可以重叠。解法:先AC自动机,每个单词节点的val用状压表示,分别是1和2(二进制的01和10)。再用适配路径求出ok[maxnode],表示在每个节点所处的状态。之后就是DP了, dp[r][d]

2013-10-10 20:08:07 600

原创 HDU 2825 Wireless Password && AC自动机+状压DP

编者:第一次做这种题,以前做的都是AC自动机模板题,突然发现简单题都做过了,只能去做关于DP或矩阵的了,稍微错一点就超时好恶心呀,特别是把dp的第三维写成1024就超时了,无语。。。题意:给你长度为十的十个单词,问你长度为字串中至少包含k个单词(单词间可以重叠)个数有多少。解法:十个单词可以用十位0或1来表示使用与否  例如 0000000001 表示只用了单词1 这样状态一共有 1024

2013-10-10 10:03:28 642

原创 HDU 1237 简单计算器 && 字符串模拟四则运算

作者按:本来是心情不好,想秒几道水题舒缓一下心情。可是没想到这道题好烦呀,居然让我推到重写了一次。。。解法:每次处理一串 * 和 /  ,遇到 + 或 - 就更新last值,如此往复。不过第一串需要特殊算一下。幸好没有括号。。。代码:#include #include#include#include#include#include#include#include#i

2013-10-09 09:25:40 830

原创 HDU 1247 Hat’s Words && Trie(字典树)

好久不写字典树,写道水题回忆一下,顺便刷刷题量  O(∩_∩)O哈哈~题意:给你很多的单词,输出那些可以由其它的两个单词拼接起来的单词。解法:先把所有单词插入到一个字典树中,然后暴力拆分每个单词,判断两段是不是都是单词,例如:abc  可以拆成 ab c和 a bc 分别判断是不是单词 如果两个都是单词就输出Trick:题目中要求最后按照字典序输出,但是我没有这样写,直接按照输入顺序输

2013-10-08 11:06:42 1005

原创 HDU 4468 Spy && 动态KMP && 2012 Asia Chengdu Regional Contest

这道题,和同学一起作比赛。刚做的时候就感觉是KMP,然后各种找方法,两个小时过去了还是没有思路。之后看大牛的题解才知道这个是动态KMP,真是水到家了。。。题意:给你两个字符串 r和s, 开始 r=s ,然后把r删掉一段后缀(也可以不删),接着r+=s ;重复多次。解法:动态KMP,T是原串,P是匹配串,last是标记。初始时使T[0]=P[0],接着进行匹配。如果不能完全匹配,就把last

2013-10-07 19:30:31 812

原创 HSU 4536 XCOM Enemy Unknown && 2013腾讯编程马拉松复赛第二场

当初没做出来的题,被3^100 复杂度吓到了。其实就是裸搜, 可以证明十几次进攻后就会结束。解法:水DFS 代码:#include #include#include#include#include#include#includeusing namespace std;const int maxn = 200;int zhou[20];int kong[20]

2013-10-05 15:33:01 674

原创 HDU 4082 Hou Yi's secret 伪相似三角形 && 2011 Asia Beijing Regional Contest

题意是:给你很多点,每三个不共线的点可以连成三角形,相似的三角形可以归为一个集合,问最大的集合三角形的数量。Trick:有三点共线以及重合的点,所以需要点去重和判定三点共线解法:水暴力,去重后枚举每三个点,如果不共线就把三条边排序,除以最大公约数,放入结构体,再加一重for循环 判定这个三角形是否存在。O(n^4) = 15ms  数据太水了!!#include#include

2013-10-04 20:25:38 803

原创 HDU 4087 三维坐标旋转(仿射变换) 矩阵加速 && 2011 Asia Beijing Regional Contest

这是第一次做仿射变换的题目,搞了一下午。题意:给你一系列对点的平移,缩放,绕任意轴旋转的操作,然后给你点要求对所有点都进行这些操作,输出操作后所有点的坐标。如果把每个点对每个操作依次进行变换会超时,因为有重复操作最大是2^32次操作。可以把对坐标的操作转换成矩阵乘以矩阵,这个操作是仿射变换。例如:x   1 0 0 tx   x   x+txy * 0 1 0 ty * y =

2013-10-04 20:07:41 2065

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除