随笔分类 - 乱搞——乱搞
摘要:题意:给你一个规则,问你写的对不对。 思路:规则大概概括为:不能出现前导零,符号两边必须是合法数字。我们先把所有问号改好,再去判断现在是否合法,这样判断比一边改一边判断容易想。 下面的讲解问号只改为+或1... 对于(null)0?,+0?,*0?一律只能改为+,否则必是前导零,其他情况问号改为1,
阅读全文
摘要:题意:题意一开始不是很明白...就是他给你n个串,让你重新排列组合这n个串(每个串内部顺序不变),使得匹配的括号长度最大。注意,题目要求not necessary continuous,括号匹配不需要连续。 思路:我们先把每个串里面能组合的全部抵消,比如)((()抵消完为)((。我们能知道,这样操作
阅读全文
摘要:题意:长为n的串,给你m个区间,这些区间内元素不重复,问这样的串字典序最小为? 思路:用set保存当前能插入的元素,这样就能直接插入最小元素了。对操作按l排序,因为排过的不用排,所以两个指针L,R是一直右移的。L右移肯定是增加set中元素,R右移有两种可能:一是L在R右边,R只是负责赶路赶到操作区间
阅读全文
摘要:思路: 友谊赛的时候一直想到了,但是没想出来怎么遍历才能找到所有矩阵,卡住了。 这里讲一下完整思路:我们用一个num[i][j]表示第i行第j列每一列连续的白色格子数量,然后我们定义一个MIN,并且每次都更新MIN的值(因为矩阵高度只和最小的那个有关)。 代码:
阅读全文
摘要:题意:给你一个字符串,这个字符串可以这样操作:把第一个字符放到最后一个形成一个新的字符串,记原式Rank为1,每操作一步Rank+1,问你这样操作得出的最小字典序的字符串的Rank和这样的字符串有几个,最大字典序的字符串的Rank和这样的字符串有几个。 思路:手动模拟操作复杂度O(n^2)果断超时,
阅读全文
摘要:题意:给你汽车容积c1,c2,再给你n个包裹的体积,问你最少运几次能全运走 思路:用2进制表示每次运送时某物在不在此次运送之中,1在0不在。我们把运送次数抽象成物品价值,把状态抽象成体积,用一个dp[ i ] 记录完成状态i的最少步数那么就转化为了01背包问题,得到状态转移方程dp[ j|state
阅读全文
摘要:思路: 如果用朴素的方法算O(n^4)超时,这里用折半二分。把数组分成两块,分别计算前后两个的和,然后枚举第一个再二分查找第二个中是否有满足和为0的数。 注意和有重复
阅读全文