03 2019 档案

摘要:这篇和上篇POJ2976类似,只是多了一个保存答案,用数组保存即可。 要注意初始化,即我们二分的时候可能永远都更新不了l,即一直执行r=mid,直到退出循环,所以此时我们ans数组就不会更新,因此我们在开始的时候就要初始ans数组,以防这种情况。 例如数据 5 3 0 1 0 1 0 1 0 1 0 阅读全文
posted @ 2019-03-26 21:51 TLE自动机 阅读(122) 评论(0) 推荐(0)
摘要:https://blog.csdn.net/Hhaile/article/details/8883652 这篇写得挺不错 这个就是入门的01分数规划,二分答案x,将ai-x*bi从大到小排序,去前n-k个,判断是否满足sigm(ai)-sigm(bi*x)>=0,满足 说明还有最优解即更新l=mid 阅读全文
posted @ 2019-03-26 21:47 TLE自动机 阅读(130) 评论(0) 推荐(0)
摘要:题目的大致意思是,给你n个数,我们需要计算一个值,这个值是这个序列中的一段连续的子序列里的最小值*这段这段连续子序列的和,我们要使得求得的这个值最大,比如样例6 3 1 6 4 5 2,我们选择6 4 5这段连续的子序列,值为4*(6+4+5)=60。 首先对于每个数a[i],我们想让他最大可能的往 阅读全文
posted @ 2019-03-22 14:46 TLE自动机 阅读(197) 评论(0) 推荐(0)
摘要:对于数的范围比较小,我们可以这样来求解逆序对。 树状数组b[val]表示的是val在数组中出现的次数。 我们倒序扫描原数组a,对于位置i,由于树状数组里面保存的是val出现的次数,我们先用树状数组求出当前树状数组中比a[i]这个值小的元素的个数,由于是倒序扫描,之前加入树状数组中的数的位置都在i后面 阅读全文
posted @ 2019-03-16 18:50 TLE自动机 阅读(1671) 评论(0) 推荐(0)
摘要:树状数组(Binary Indexed Trees)其代码简洁,第一次遇见就被惊艳到了。 网上讲解也有很多,我就简单总结一下。 树状数组有如下几个基本操作。 首先要了解lowbit运算,二进制分解下最小的2的次幂。 1.查询前缀和 2.单点增加 树状数组的初始化: 阅读全文
posted @ 2019-03-16 18:26 TLE自动机 阅读(1237) 评论(1) 推荐(3)
摘要:题目链接 https://vjudge.net/problem/UVALive-3905 第一次学到这个。对于每一颗流星,我们求出它在矩形框内待的时间段 L~R,把L和R按照不同的类型加入结构体。我们先按照时间从小到大排序,然后逐个扫描,遇到左端点L说明这个时刻流星已进入矩形框,个数加1,遇到右端点 阅读全文
posted @ 2019-03-16 10:29 TLE自动机 阅读(205) 评论(0) 推荐(0)
摘要:题目的意思是给定两个01序列 第一个序列中如果a[i]为1,表示第i个人可以表演clown,0表示不能表演clown。 第二个序列中如果c[i]为1,表示第i个人可以表演acrobat,0表示不能表演acrobat。 总共两次表演,每次出场n/2个人,且满足表演过的不能再次出场,且第一次出场的可以表 阅读全文
posted @ 2019-03-10 14:12 TLE自动机 阅读(326) 评论(0) 推荐(0)
摘要:快速乘+快速幂 计算 ab % p 阅读全文
posted @ 2019-03-10 12:22 TLE自动机 阅读(179) 评论(0) 推荐(0)
摘要:题意:是一个城市有两个帮派Gang Dragon 和 Gang Snake,A a b是询问a和b这两个人是不是一个帮派,D a b是这两个人不在一个帮派 每一次A就输出一次。 城市有只有3中人,要么属于S,要么属于D,还有一种未知 这题和奇偶游戏很相似,可以用扩展域并查集,也可以用边带权并查集,感 阅读全文
posted @ 2019-03-09 18:54 TLE自动机 阅读(166) 评论(0) 推荐(0)
摘要:给了一个数组,构造一个环,使相邻的数的差的最大值最小,本来以为二分可以解决,结果我做不出来。。。。。。。 看了题解,大的往中间放,小的放两边,中间向两边递减 阅读全文
posted @ 2019-03-08 16:12 TLE自动机 阅读(199) 评论(0) 推荐(0)
摘要:用三维数组来记录当前这个数字有没有被行或者列或者小九宫格用过,同时优化一下搜索顺序,我们从0少的那一行开始搜索,减小搜索树分支,这个优化是比较大的。 阅读全文
posted @ 2019-03-06 22:55 TLE自动机 阅读(247) 评论(0) 推荐(0)
摘要:这篇文章写得比较详细 https://blog.csdn.net/legan/article/details/52793129 对于搜索的优化: 1 从大往小搜 2 从原字符串的最低位开始搜,并且从上往下,这个可以记录在pos数组里 最后就是一些判断的函数了,文章写得挺详细的,看了他的才会写 阅读全文
posted @ 2019-03-06 20:32 TLE自动机 阅读(249) 评论(0) 推荐(0)
摘要:题目链接:P1025 数的划分 用k个数组成n,且不考虑数的顺序。 首先我们考虑用搜索的做法,因为数的顺序无关,所以我们采用从小到大的搜索方式,注意有个剪枝 这里一定要加sum + i*(k - step) <= n这个剪枝,这句话什么意思呢,就是当前已经确定了step个数了,还剩下k-step个数 阅读全文
posted @ 2019-03-05 22:47 TLE自动机 阅读(351) 评论(0) 推荐(0)
摘要:题目链接:P1019 单词接龙 我为这里比较难的地方就是处理两个单词的最小重叠部分,并且不允许包含关系,这里需要写一个函数来处理两个字符串的最小重叠部分。 这里处理完了剩下的就是搜索了 阅读全文
posted @ 2019-03-05 21:33 TLE自动机 阅读(279) 评论(0) 推荐(0)
摘要:题目链接:P1126 机器人搬重物 这题WA了3次,第四次才AC,卡了卡了好几个小时 第一次:30分 第二次 :80分 第三次 90分 第四次100分 这题有个难处理的地方在于障碍物占了一个格子,而机器人只能走在格子的边线上,我们仍然把机器人按照正常的格子去走。 注意,题意给的是n*m个方格,也就是 阅读全文
posted @ 2019-03-04 21:46 TLE自动机 阅读(244) 评论(0) 推荐(0)
摘要:题目链接 P1141 01迷宫 直接暴力的做法就是对于每一个询问都进行bfs,这样复杂度最坏可以达到O(mn2),这样显然过不了的 我们发现,对于一个点所拓展的路径上的所有点能走的格子数是一样的!(然而我没发现) 所以我们可以dfs求联通块,每个联通块里所能走的格子数是一样的 bfs也可以 阅读全文
posted @ 2019-03-03 17:16 TLE自动机 阅读(263) 评论(0) 推荐(0)
摘要:题目链接:P1162 填涂颜色 题目意思就是将1包围0变成2,直接做不好做,那我们反过来思考一下,我们可不可以对闭合的圈以外的数进行操作呢,这似乎比直接对圈内的数直接操作方便。 对于a数组,是我们读入数据的,我们再开一个b数组,初始全为2,若a[i][j]为1,则把b[i][j]设为1。 我们从边界 阅读全文
posted @ 2019-03-03 16:27 TLE自动机 阅读(399) 评论(0) 推荐(0)
摘要:题目链接 http://poj.org/problem?id=1182 第一种 扩展域 对于几个编号为x的动物 我们用x表示它的同类域,x+n表示它的捕食域,x+2*n表示它的天地域。 我们用并查集来维护动物之间的关系,也即维护这三种域之间的关系 当给定一个指令 1 x y 时,说明x和y是同类,什 阅读全文
posted @ 2019-03-01 21:17 TLE自动机 阅读(255) 评论(0) 推荐(0)