随笔分类 -  题目记录

摘要:题意与分析 完全背包问题。 算法背包九讲里面都有提到过,我自己再说下对完全背包的理解。 为什么01背包中遍历状态从VV到00?考虑一下基本方程$dp[i][j]=max(dp[i-1][j-w[i]]+v[i],dp[i-1][j])$,如果顺序,那么决定dp[i][j]dp[i][j]的就是dp[ 阅读全文
posted @ 2018-08-13 00:20 ISoLT 阅读(211) 评论(0) 推荐(0)
摘要:题意与分析 很简单:求最长公共子序列。 注意子序列与子串的差别:一个不连续一个连续。一份比较好的参考资料见:https://segmentfault.com/a/1190000002641054 状态转移方程是这样的: 设dp[i][j]dp[i][j]为a串1~i、b串1~j中的最长的公共子序列, 阅读全文
posted @ 2018-08-12 16:52 ISoLT 阅读(143) 评论(0) 推荐(0)
摘要:题意有n" role="presentation">nn个站点,排成圆形,每站间距m" role="presentation">mm,现从0点出发,提供t" role="presentation">tt个油箱,问:拿走若干个油箱可以让出发者无法到达任意一个站... 阅读全文
posted @ 2018-08-10 15:52 ISoLT 阅读(115) 评论(0) 推荐(0)
摘要:题意给定一矩阵M" role="presentation">MM,Mij=ij" role="presentation">Mij=ijMij=ij,求第k大值。分析这个题不看题解我是想不到二分的,但是二分当然属于暴力,不爽不要玩;) 实际上,现在做题解的时候... 阅读全文
posted @ 2018-08-10 15:05 ISoLT 阅读(122) 评论(0) 推荐(0)
摘要:题意 You are given n points on a line with their coordinates $x_i$. Find the point x so the sum of distances to the given points is minimal. 分析 答案是直觉上显然 阅读全文
posted @ 2018-08-10 14:57 ISoLT 阅读(210) 评论(0) 推荐(0)
摘要:题意分析这题几乎就是一条dijkstra的问题。但是,如何考虑倒在中间? 要意识到这题求什么:单源最短路的最大值。那么有没有更大的?倒在中间有可能会使它更大。 但是要注意一个问题:不要把不存在的边(边长为inf)算进去;另外,n=1的情况需要注意。代码// ... 阅读全文
posted @ 2018-08-06 21:21 ISoLT 阅读(107) 评论(0) 推荐(0)
摘要:题意分析dijkstra的变形,问题在于把题目的逻辑转化成图。 这个图(V,E)" role="presentation">(V,E)(V,E)是这样的:V是各个人(礼物+承诺+探险家),E是花费的金额。如果能够换到,就连一条边。 这样一来,对[lv1&#x... 阅读全文
posted @ 2018-08-06 19:50 ISoLT 阅读(120) 评论(0) 推荐(0)
摘要:题意分析问题是要看出来这是个floyd闭包问题。我没看出来- - 分析之后补充。代码// Origin:// Theme: Graph Theory (Basic)// Date: 080618// Author: Sam X//#include #incl... 阅读全文
posted @ 2018-08-06 11:31 ISoLT 阅读(106) 评论(0) 推荐(0)
摘要:题意分析变形的dijkstra。 分析题意之后补充。代码// Origin:// Theme: Graph Theory (Basic)// Date: 080518// Author: Sam X//#include #include #include #... 阅读全文
posted @ 2018-08-06 10:53 ISoLT 阅读(122) 评论(0) 推荐(0)
摘要:题目以后补分析mmp这题把我写蠢哭了 我原来的思路是什么呢? 每轮找min/max,然后两个决策:升min/降max 像这样子dfs找最优,然后花式剪枝 但是一想不对啊,这才1-4,哪有那么复杂 网上一看,沃日丢人现眼了 由于数据范围(没错面向数据范围编程)... 阅读全文
posted @ 2018-07-28 02:54 ISoLT 阅读(109) 评论(0) 推荐(0)
摘要:题目 分析 这个Rnd353真是神仙题层出不穷啊,大力脑筋急转弯- - 不过问题也在我思维江化上。思考任何一种算法都得有一个“锚点”,就是说最笨的方法怎么办。为什么要这么思考,因为这样思考最符合我们的思维规律。然后从这种最笨的方法中找问题、找漏洞、找关键的变量不变量,就能转化出更好的更快的算法。 这 阅读全文
posted @ 2018-07-28 02:48 ISoLT 阅读(112) 评论(0) 推荐(0)
摘要:题意之后补充。分析这是一条很好的考察递归(或者说搜索)的题目。它的两个过程(建立初步解,验证)都用到了递归(或者说运用递归可以相当程度的减少代码量)。 具体实现见代码。注意,为了使用std::pair的比较操作符,代码交换了x、y的位置。代码/*ID: sa... 阅读全文
posted @ 2018-07-28 01:43 ISoLT 阅读(149) 评论(0) 推荐(0)
摘要:题意给定一定条件,问符合的矩阵有几种。分析见了鬼了,这破题谁加的brute force的标签,素质极差。因为范围是1e5,那你平方(枚举算法)的复杂度必然爆。 然后你就会思考其中奥妙无穷的数学规律(并没有),推出一系列相关的等式。 然后坑爹无穷的来了:边界问... 阅读全文
posted @ 2018-07-28 01:26 ISoLT 阅读(121) 评论(0) 推荐(0)
摘要:题意之后补。分析这题同样也很精巧。我们不妨思考一下,如果只允许用一块木板,那么要购买多少距离?是整个的距离吗?不是,是从第一个到最后一个(哈哈哈哈哈哈哈)。但是,不包括第一个的“左边”和最后一个的“右边”。只允许用两块的时候发生了什么变化?可以想见,最好的解... 阅读全文
posted @ 2018-07-28 00:06 ISoLT 阅读(116) 评论(0) 推荐(0)
摘要:题意 之后补 分析 我哭了,强行增加自己的思考复杂度。。。明明一道尬写的题- -(往区间贪心方向想了 其实完全没必要,注意到只有366天,直接穷举判断即可。 代码 阅读全文
posted @ 2018-07-27 23:24 ISoLT 阅读(156) 评论(0) 推荐(0)
摘要:题意圆形链条,打断一处可以形成一条链。问在哪个地方开始打断,能够形成最大的连续颜色(白色视作同样的颜色)?分析说起来很高级,但是我们实际上并不需要穷举打断的地方,只需要把串重复三回啊三回。然后从第二个串的左边开始循环找连续颜色的“初始色”(如果是白色,那么左... 阅读全文
posted @ 2018-07-27 21:51 ISoLT 阅读(140) 评论(0) 推荐(0)
摘要:题意 (Codeforces 548D) 对一个有$n$个数的数列,我们要求其连续$x(1\le x\le n)$(对于每个$x$,这样的连续group有若干个)的最小数的最大值。 分析 这是一道用了单调栈的题目,用的贼好。算是第一次应用吧。 我们定义$l_i$为左侧比第$i$个数小的数的下标的最大 阅读全文
posted @ 2018-06-15 13:33 ISoLT 阅读(237) 评论(0) 推荐(0)
摘要:题意与分析 (Codeforces 548C)我开始以为是一条数学题,死活不知道怎么做,无奈看题解,才知这是一条暴力,思维江化了- - 题意大概是这样的: 两个东西的初始高度分别为h1,h2" role="presentation">h1,h2h1,h2,每... 阅读全文
posted @ 2018-06-14 15:41 ISoLT 阅读(75) 评论(0) 推荐(0)
摘要:题意(CodeForces 548B)每次对01矩阵中的一位取反,问每次操作后,单列中最长连续1的长度。分析非常非常简单,但是我当时训练的时候WA了四次。。。无力吐槽了,人间 不值得.jpg代码#include #define MP make_pair#de... 阅读全文
posted @ 2018-06-11 21:26 ISoLT 阅读(119) 评论(0) 推荐(0)
摘要:题意 (CodeForces 546E) 对一个无向图,给出图的情况与各个节点的人数/目标人数。每个节点的人只可以待在自己的城市或走到与他相邻的节点。 问最后是否有解,输出一可行解(我以为是必须和答案一样,然后本机调了半天死活不一样,交上去结果A了- -)。 分析 典型的网络流。问题在于建模。如何解 阅读全文
posted @ 2018-06-11 20:43 ISoLT 阅读(175) 评论(0) 推荐(0)