04 2019 档案
摘要:思路: 先把这些矩形统一 一下,让最长边向下,然后按大小放好。 这样,我们就可以来构建DAG图形, 令,被包含的矩形a与包含的矩形b看成a一一>b的路线,这样就形成了这样的图形: ,我们一定知道最小矩形一定是不能包含其他矩形的(因为没有矩形比最小矩形还小),同时,知道最大矩形一定不能被包含。(因为没
阅读全文
摘要:思路:就是使用二维前缀和的模板: 先放模板:
阅读全文
摘要:思路:二分,就是在不超过b的预算下,使得品质的最小值最大化。关键还是判断函数吧。 假设答案为x,判断函数,就是每一个种类的配件的品质最基本的品质要大于x,然后找出最小的值。这样的配件品质之和的价格要小于b元。 则表明x是答案之一。但是,不一定是最优答案。最后答案就要看二分的方向了。
阅读全文
摘要:这套题我只写了a, b, c。。 对不起,是我太菜了。 A:思路:就是直接简化为一个矩阵按照特定的步骤从一个顶角走到与之对应的对角线上的顶角。如图所示。 解释一下特定的步骤,就像马走日,象走田一样。你的步骤只能走(x-a, y-b), (x+a, y-b), (x-a, y+b), (x+a, y+
阅读全文
摘要:a题:题意就是问,3个数字差多少可以构成三角形 思路:两边之和大于第三遍 b题:就是给出a的值。求出这个解的个数。 思路:比如给你a=5,则a=101, 则 x= 000, 001, 100, 101 为什么这样呢?因为只有没产生减法时的借1的情况的话,都是可以的。emmm,也就是说统计一下二进制中
阅读全文
摘要:本来抱着wa一发的心态写写,没想到过了。 算是一种二分吧。 也就是说,减数取太大和太小都不好,怎样是最好的呢?当然是,每次减去一个数之后新形成的序列和前面的序一样是最好的 这样的话,本来想写个二分,但是直接写了下面的代码:开心 为什么我敢如此写,因为时间复杂度是O(logn)的
阅读全文
摘要:思路:得到输入得到mj[]的各个牌的数量,还差最后一张牌。直接暴力枚举34张牌就可以了。 当假设得到最后一张牌,则得到了的牌看看是不是可以胡,如果可以胡的话,就假设正确。否者假设下一张牌。 关键还是如何判断这组牌是不是可以胡。怎么判断呢?因为胡牌的条件是:nABC+mBBB+1DD, 而且n+m=4
阅读全文
摘要:从来没有觉得枚举有多费脑子的。但是这道题还是很香的。 思路:就是非常简单的枚举啦。 从一般的枚举开始考虑。一般的做法就是在所有的格子中有两种状态1, 0. 而一共有225个格子,所有一共要枚举的情况就是2255我们大概粗略的计算一下10大约是23则,时间复杂度大概是1085而实际的情况比这个要高。肯
阅读全文
摘要:思路: 一,两个点相撞然后,相互弹开。这样其实和两个点穿过去差不多, 但是对于单个点而言,这样肯定不行。 二,当你发现了不管什么情况,这些点的相对位置是不变的, 比如 1, 4, 3, 2 不管怎么移动,最后的这些点的相对位置依旧是 1, 4, 3, 2 知道了这两点,其实就可以自己动手写了。 我是
阅读全文
摘要:思路:就是把J大的放在前面。为什么这样贪心呢? 看看这个图
阅读全文
摘要:思路:先将龙和士兵进行分别排序从小到大。然后,每次找当前最小龙的第一个大于它的骑手之后退出,开始下一个龙,重复上一次操作。
阅读全文
摘要:比较水的模拟 思路:就是模拟题意 注意:把数组开大点,开始wa了几次就是这个原因
阅读全文
摘要:没什么好说的
阅读全文
摘要:思维:思维就是将大的矩形放在小矩形里面,让大矩形的宽和长尽量靠近。 很容易得到 (a+b)% i = 0 的话, 保证了大矩形的形成,同时里面表示了两种情况:1, a % i =0, b % i=0; 2, (a%i + b % i) % i =0 当然,第一种情况是第二种的特殊情况,但是,我还是想
阅读全文
摘要:思路:直接离线处理出每个ai 的10倍, 100倍, 1000倍的mod k 后的数值的个数,使用map<int,int >ss[12]存储, ss[x][y]表示 (ai*10x)%k=y的个数,最后处理一下,自己拼接自己的情况。
阅读全文
摘要:这道题,关键在于怎么求多个区间的交集,使用multiset就可以 分别将 r , l 存在不同的mutiset中。 然后,我们来看一下 是不是 交集的 l 是最大的, 交集的 r 是最小的
阅读全文
摘要:这个题有一些数学思维在里面,记住x[i]表示a[i+1]给a[i]拿的个数, 然后推公式 代码:
阅读全文
摘要:这是好久之前做过的题,算是在考察欧拉函数的定义吧。 先把欧拉函数讲好:其实欧拉函数还是有很多解读的。emmm,最基础同时最重要的算是,¢(n)表示范围(1, n-1)中与n互质的数的个数 好了,我把规律都放在图上了。 代码就自己写吧。
阅读全文
摘要:思路: 直接比较橘色框里的取第一次相等,即可。
阅读全文
摘要:emmmm,我感觉我在解题的过程中还是有点吃亏的,因为,我知道是二分,只是大概知道怎么分,没有管这道到底是需要怎样的二分。然后在题上卡了很久。 思路:要找到填报学校的录取线x和自己的分数y的绝对值最小,其实,我们直接找到第一个大于它的数字和最后一个小于它数字比较一下就可以了。当然,进行排序后。 这两
阅读全文
摘要:花了2个小时,写的。。mmp只想说,还是我太菜了。
阅读全文
摘要:思路: 建树:就是在每一分钟进行分枝,是原地不动,还是移动。然后,走完整个过程。 但是,我其实还是走了弯路,因为,最开始想的是剪枝,没有用记忆化搜索。但是,肯定是能用dp来做,啊啊啊啊阿,能用dp肯定是可以用记忆化搜索的啊! 记忆化:因为后面的结果是前面局部解的组合,也就是说后面的解对前面的局部解没
阅读全文
摘要:思路:将好感度x+y作为体积, 幸福度x-y作为作为价值, 然后就是一个经典的背包问题了。emmmmm,还可以特判一下,因为幸福度为0时就是最小了,没有必要看后面的了吧。 其实,我自己做的时候,沙雕的认为是每一对的幸福度的绝对值之和,原来是总的的绝对值。
阅读全文
摘要:感觉这道题还是蛮简单的,不过使使用了4个队列(其实只是一个)emmmmm,还是很好的
阅读全文
摘要:思路:这道题还是用了小小的剪枝,这里要注意的是该题有很多中构建树的顺序,但是,在这众多顺序中不一定都能保证输出的方案字典序最小。 构建搜索树:如图构建 剪枝,emmm,看代码:
阅读全文
摘要:emmmmm,我还是看了题解的。。。。尴尬,其实不用记忆化搜索也是可以的。因为我不用也是最后一个点超时。但是我是用的贪心+DFS。。。超时的原因是贪心。。。。mmp,本来加贪心就是为了不超时。。。。 思路: 搜索树的构建:就是把这一层的点把所有未访问的点当成孩子,这就构成了搜索树! 记忆化: 就是把
阅读全文
摘要:本来是个搜索题,但是自觉的成了背包! 多重用正序,01用逆序。 抽象出来一下,一个物体的体积为ai, 每次装入背包需要bi(在题目中为菜数量)分钟(这个题目只是bi为 1 而已)问在r分钟内,装比n大的方案数。 这是妥妥的,多条件方案01背包啊!妥妥的二维啊。 dp[i][j] 表示,花了 i 分钟
阅读全文
摘要:这里详细讲一下剪枝的点: 因为,可以重复在同一个点上走动。所以,这个步数是无穷的。 剪枝一:步数< n*m; (因为起点不算所以不取等号) 剪枝二:步数当大于已有的答案时,直接退出DFS,因为你已经知道这个线路不是答案了,那就没有必要走出去的必要了。(当时,没想到,还傻傻的想了半天)
阅读全文
摘要:思路:最开始的回溯顺序是正常的图遍历的回溯顺序,其实也没有错。但是,因为怎么调都不对,看了题解。下面,请结合题解思路和代码一起感受一下回溯顺序的改变,算法的改变和代码在哪里实现了这种顺序。 回溯顺序:按照节点的索引大小顺序。 实现分步:DFS函数, check判断函数 一,DFS函数部分,确定了整个
阅读全文
摘要:技巧:就是偶数位的回文数字一定不是质数 证明:奇数位之和sum1==偶数位之和sum2的数字可以被11整除。(11除外,这是一个坑点) 最高位,最低位必须是 1, 3, 7, 9 暴力枚举:也就是说,直接枚举奇数位(1,3,5,7)就可以了。至于回文嘛,除去最高位和最低位,也最多是枚举3位数字,时间
阅读全文
摘要:就是在输入的时候把 ‘o’ 的放在队里,然后,直接BFS就可以了。感觉是水题。
阅读全文
