
ACM
Vanguard-xf
有些梦想虽然遥不可及,但不是不可能实现,只要我足够强!
展开
-
UVA10723-Cyborg Genes
大概题意: 给你两个字符串m,n让你找到一个让这两个字符串成为其子串的最短字符串str,并且输出这种字符串有多少种构建方式这题属于dp,并且涉及到他们最大公共子序列,记为s首先能想到的是s同样是目标字符串str的子串,那么现在把s固定,把mn串的其他字符相对顺序不变地插入s中便能得到最大最短目标字符串,这样便能求出最短长度下面如何求有多少种构造数呢 上面说到固...原创 2015-08-13 01:44:18 · 354 阅读 · 0 评论 -
UVA1629---Cake slicing
这题看懂了就不难,我做法算是dp中比较暴力把每个状态看成(l,r,u,d)的矩形然后把当前状态下所以可能(切的方式)状态枚举一遍取最小然而我以前从没注意节约空间,这题d[][][][]空间开的太大,然后用memset初始化超时,debug半天#include<iostream>#include<cstdio>#include<cstring>#includ...原创 2015-08-11 20:00:18 · 778 阅读 · 0 评论 -
UVA10118_Free Candies状态压缩
题意 有四列糖果,一个人手中最多拿五个水果,每次拿水果只能从每一列最上面开始拿. 而如果手中的糖果相同就会成对抵消,奖励给玩家 问玩家怎样取能取到最多的糖果,并输出对数思路这题是运用动态规划,那么开始应该怎样建立状态呢状态必须包括足够多的信息以至于能够转移,显然其中一个信息就是手中有哪些糖果,而为了能够进行转移我们还要知道当前每列糖果的局面,所以我建立了一个...原创 2015-08-12 21:20:18 · 378 阅读 · 0 评论 -
UVA
A network is composed of N computers connected by N - 1 communication links such that any two computers can be communicated via a unique route. Two computers are said to be adjacent if there is a comm...原创 2015-08-09 20:55:07 · 267 阅读 · 0 评论 -
UVA12174_Shuffle
Shuffle大致题意:你有一个随机播放的播放器,有s首歌,在这s首播放完之前不会重新打乱顺序,现在给出一段只含有1~s的n长度序列,现在问你下次随机排序发生的时间有多少种可能其实就是问你这个播放记录的起点有多少种可能思路:先暴力枚举一下开头s个字符分别为起点,然后验证这样是否合法这样关注的焦点就是如何检验了,暴力显然不行,那么我们就预处理所有可以是一段记录播放起点的点(也就是含这个点后s个字符各...原创 2015-09-10 03:10:00 · 490 阅读 · 0 评论 -
CF-567C - Geometric Progression
我最初的时候枚举起点x,然后二分查找数值为x*k区间中的位置位于x之后的区间,然后在枚举区间的y(=x*k),用二分再求出y*k切在其之后的区间这样写时间会t后面发现枚举起点效率低,没有枚举中点效率高,因为枚举中点一可以剔除x%k!=0的并且可以在lgn的时间内 查找到x/k和x*k的区间长度#include<iostream>#include<algorithm>u...原创 2015-08-06 04:52:54 · 533 阅读 · 0 评论 -
Parentheses Sequence微软编程笔试
描述You are given a sequence S of parentheses. You are asked to insert into S as few parentheses as possible so that the resulting sequence T is well matched.It's not difficult. But can you tell how原创 2017-03-31 23:24:31 · 807 阅读 · 0 评论 -
雷神之路
A 雷神之路题意在一个坐标轴上面起始位置是0,你可以往右走一步,两步,三步。其中某些位置不能走,问你走到位置n有多少种方法(1<= n <= 1e18)分析这题是走楼梯的进阶版,状态很好想dp[n],转移有三种:走一步两步三步转移过来。不过由于n太大,很容易想到矩阵加速。用矩阵A表示第i个可走,矩阵B表示第i个不可走。有些地方x不能走,那么我只要用矩阵加速求出第x-1个矩阵C,那么第x个矩阵就是原创 2016-05-24 13:33:06 · 345 阅读 · 0 评论 -
奶牛硬盘
M. 奶牛硬盘题意硬盘的制造商认为”一千” 是1000,但是操作系统认为”一千”是1024.单位分别有“B”, “KB”, “MB”, “GB”, “TB”, “PB”, “EB”, “ZB”, “YB” 分析很简单的一道题,只和单位有关系和前面数值没关系,先求出保存率,然后1-保存率,base[0]= 1, base[1] = (1000)/1024;…思考我在想0MB的丢失百分比是多少原创 2016-05-24 13:31:48 · 488 阅读 · 0 评论 -
奶牛序列
L. 奶牛序列题意约翰刚帮奶牛们拍完照,拿着合影的他,看着奶牛队列,又莫名想到了一个字符串问题: 我们将n头奶牛的队列看成一个长为n的字符串S,让Ti表示从第i的字符开始的后缀。求: 其中,len(a)表示字符串a的长度,lcp(a,b)表示字符串a和字符串b的最长公共前缀,输入字符串长度不超过5e5分析首先前面的len(Ti)和len(Tj)可以提取出来一步算出来,剩下主要就是求原创 2016-05-24 13:29:46 · 642 阅读 · 0 评论 -
小备注
从现在开始要做一些纠错笔记了。1)欧拉回路欧拉回路是指不令笔离开纸面,可画过图中每条边仅一次,且可以回到起点的一条回路。切记,这和哈密顿回路是不一样的,欧拉回路是要把所有的边走过一遍,点可以走多次!!!所以判断有没有欧拉回路就是每个点出度和入读相同、切全部联通就好原创 2016-03-08 22:17:50 · 441 阅读 · 0 评论 -
Marked Ancestor
一道并查集的题目硬是被我当成线段树写了,感觉这样写虽然不是最好的,不过能a就行http://acm.hust.edu.cn/vjudge/contest/view.action?cid=103906#problem/Ghttp://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=2170首先题意:一个可以被标记的树,起初只有根原创 2016-01-15 23:16:45 · 416 阅读 · 0 评论 -
UVA11572_Unique Snowflakes
超级经典的题目,扫描区间,滑动窗口对这题目的最大感受就是,单独看这个题目,其实不难,但是很多我感觉挺难或者没做出来的题目,都是由这些若干个经典的算法组合而成的滑动窗口便是一个典型的例子!!!!遇到过好几道用到滑动窗口的题目而本题则赤裸裸的滑动窗口题意:输入一个长度为n的序列A,找一个尽可能长的子序列使他们之间无重复元素思路:第一步,自己暴力模拟第二步,找规律,尝试着状态转移第三步,修正,实现首先不...原创 2015-09-09 02:10:11 · 649 阅读 · 0 评论 -
HDU3450_Counting Sequences
题意:让你从所给的序列中找到他的子序列,使他们相邻之间差距不超过d,问有多少个转移的子序列分析:这题第一眼大概就知道是状态转移,sum[i]表示以前i个中有多少个,那么sum[i+1]比sum[i]多了一个以第i+1为结尾的子序列,那么只需要知道前面当中以x(x与第i+1距离不超过d)结尾的子序列个数和,那么这个时候在用dp[x]表示当前以x结尾有多少个子序列,但是数字太大不能直接记录,直接求和....原创 2015-09-09 13:19:43 · 385 阅读 · 0 评论 -
UVA11988_Broken Keyboard (a.k.a. Beiju Text)
即将dfs()放到打印本段字符的后面不过汝佳书上面说是用链表写的,无意中用递归写出来了,而且写的挺简单的,代码不复杂,写这个博客主要是想记住递归这种神奇的方法平时递归搜索时候,dfs()的在其他代码的前后不同会有不同的效果,还有就是在递归前标记某一个,递归后消除这个标记(最经典的是暴力枚举排序)在递归中也会经常遇到边递归边打印或者是全部递归之后再打印,这些各有不同而这道题目就充分利原创 2015-09-08 22:33:40 · 353 阅读 · 0 评论 -
UVA1152_4 Values whose Sum is 0
中途相遇法,这题目总结后我感觉和第一篇博客很像,他们都取了中间,也许这就是二分的魅力吧这题题意就是从ABCD四个集合中选四个元素使他们的和为0题意很简单,但是实现起来很容易超时,不能一个一个枚举然后就想到了枚举两个,那么新生成EF两个集合大小为n方,然后如何查找?最容易想到的就是用map标记,但汝佳说了这会超时,我不信,试了一发,超时了!!!除了用map还能用什么呢,联想到之前那个UVA对称的题目...原创 2015-09-09 01:21:59 · 297 阅读 · 0 评论