摘要: 1. 以4一组打印arr内容 i每次进1导致debug一个多小时。 2. c++int爆炸,在arr的求和运算时,爆炸。 3. 改代码,只改部分,没改干净 4. 问题解决有疏忽。问题<智商,但是没有发现问题,因为理解并提出“正确”方法给自己的激励比较大,导致觉得这么美好的东西一般是对的。 5. 混淆 阅读全文
posted @ 2019-06-12 16:08 Cloud.9 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 每一个想不出来的题目,都要在看答案之前记录自己的尝试和想不出来的痛苦。 提醒笔记:二分,DP,暴力+记忆化搜,换维(row,col,映射关系倒置,(时间空间)顺序逆序...) 盲目自信下,往往会认为想出一道题的时间复杂度是O(1),其实不然,自己的能力vs算法的正确数学建模是:能力决定思维跨度,算 阅读全文
posted @ 2019-04-17 10:06 Cloud.9 阅读(248) 评论(0) 推荐(0) 编辑
摘要: 1. 可以写成 2. ordereddict保持dict在遍历的时候按照插入的先后顺序。 3. 这个骚操作在 的时候无效,你想想为什么? 4. 5. list的sort操作的算法是TimSort,是一种混合的sort算法,浅显的可能错误的理解是:先找上升子段,上升子段之间merge-sort。所以, 阅读全文
posted @ 2018-12-14 10:01 Cloud.9 阅读(163) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.cn/problems/combination-sum-iii/ 递归标准题目 先写递归函数,一边写一边看缺少什么输入。 因为数字不能重复,而且从小到大排序正好能去重,因此对当前剩下的list而言,遍历时给到下一层递归的只能是右侧的数组。 比如list=[4,5,6 阅读全文
posted @ 2022-05-10 19:02 Cloud.9 阅读(17) 评论(1) 推荐(0) 编辑
摘要: 这个题目,如果没有找到正确的切入点会非常绕(太多边界条件要处理),一旦姿势用对,就非常简单了。 首先不解释,是个二分。但是第一步是:扔掉二分,将其一般化。generalize it! 具体来说怎么“一般化”, 1.不是找中位数,而是找第k大的数。 2.不从两个数组的中间位置找,而是从任意位置找。 第 阅读全文
posted @ 2022-04-18 18:01 Cloud.9 阅读(25) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/contest/1395 1. 题目:有r,g,b,w四种字符,可以挑选一组r,g,b变成3个w,这个操作可以做任意次。问能否先将之操作,再将之排列,变成回文。 中间定律1(辅助定律):如何判断一个字符串能否重排列成回文?答:最多一种字符的数量是奇数。 辅 阅读全文
posted @ 2020-08-14 10:21 Cloud.9 阅读(126) 评论(0) 推荐(0) 编辑
摘要: 常说的python-docx库并不好。我使用的时候碰到了部分文字未读取的情况。其实完全可以不用这个包。 doc文档本身是一个压缩包,改后缀为zip后,可解压看其中的内容: xml格式我不了解,基本上征文所有的文字都在document.xml文档中,页眉页脚在header和footer中,写一个文档改 阅读全文
posted @ 2019-11-26 18:27 Cloud.9 阅读(2660) 评论(0) 推荐(1) 编辑
摘要: 简直精妙。 哈夫曼编码? 我用的是dp,这种区间dp的时间复杂度是真的难算!状态转移方程为n的区间dp时间都算作n^3吧。 先把任务从长到短排序,然后看worker在那一层要细分多少?就是位置i和员工数n的dp转移。 但是可以贪心!!!!!!!!!!!!每次都是把时间最短的放在最后,而且这两个必然同 阅读全文
posted @ 2019-09-22 03:27 Cloud.9 阅读(427) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/minimum-cost-to-merge-stones/ 这个题真是巨骚无比。不对着错误样例debug,自己压根不知道这题水有多深。 1.处理cost的求和方式 2.分段dp?不分段?分段?不分段?分段?不分段?晕了。 事实证明hulu1 阅读全文
posted @ 2019-09-22 00:59 Cloud.9 阅读(190) 评论(0) 推荐(0) 编辑
摘要: https://codeforces.com/contest/1203/problem/D2 本题解题思路是基于一个贪心的观察。 使用一个最最常用的思考方法,构画答案的样子,从答案到问题,而非从问题到答案:当答案是(l,r)也就是当我们去除的是片段(l,r)的时候,意味着l不能再往左扩展,r不能再往 阅读全文
posted @ 2019-08-16 01:15 Cloud.9 阅读(133) 评论(0) 推荐(0) 编辑
摘要: a题教育我:不手写2个测试用例,就不要写代码,谢谢。 b题真的恶心,判断溢出自己之前从没思考过的问题。最后用了很尴尬的判断,a=b+c的时候,三个数不能>=(1<<32),不能小于0,不知道为什么,也不想知道。 c题是思维gap的味道,也靠推导能力,看你有没有思维jump的能力。用到了我特别喜欢的一 阅读全文
posted @ 2019-06-06 13:13 Cloud.9 阅读(118) 评论(0) 推荐(0) 编辑
摘要: 一个球指定2个碗,具体指定哪两个由输入决定,在所有这些指定方式中,有多少解能满足? 每个碗最多放一个球,球可指定两个相同的碗 1.球碗用连线相接,变成图的问题? 2.最多多少?网络流? 3.答案:一个球必指向两个碗,那么把一个球当作图中的边而碗作为点,球给了哪个碗,就决定了边 的方向指向哪个点,有多 阅读全文
posted @ 2019-05-13 11:46 Cloud.9 阅读(249) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/contest/1162 a.pass b.给两个相同形状矩阵a,b,ab之间可以的对应位置的值可以互换。问:能否通过互换来是a和b均分别满足条件p:每行严格单调增,每列严格单调增。 证明: 严谨地说,条件p依赖于矩阵每个值,因此是有指数级别的可能矩阵的。 阅读全文
posted @ 2019-05-06 16:25 Cloud.9 阅读(175) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/contest/1156/problem/D 一棵树,边权只能为0或者1。一条简单路径就是类似01001100的样子。现要求简单路径中,0不能接在1后面。问其数量。 首先想到的是树形dp,哎,脑子里的工具或者类比问题太少了。 dp的机制:知道儿子树的所有答 阅读全文
posted @ 2019-05-02 13:59 Cloud.9 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 一个骚题目,自己真是naive,真是naive http://codeforces.com/contest/1156/problem/C 俄罗斯英语看着真几把费劲。 本以为贪心就完了,但是却想当然了,这个题目得好好反思,做了两个题目排名900多???我服了。 假设我们已经有了一个最终的最优答案,那么 阅读全文
posted @ 2019-05-02 00:46 Cloud.9 阅读(334) 评论(0) 推荐(0) 编辑
摘要: n个鱼丸,m个肉丸,k个碗。 鱼丸肉丸碗全都相同。 一个碗只能放鱼丸肉丸的其中一种,也可以为空。 求有多少种分法? n个丸子,k个碗,丸子都一样,碗都一样,可空碗,多少种放法。 貌似可以直接推公式? 阅读全文
posted @ 2019-04-17 10:01 Cloud.9 阅读(253) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/k-inverse-pairs-array/ 更新:这个问题怎么都感觉有O(1)解法,解析解,真的规律太明显,Fibonacci sequence都有通项公式呢。 给一个set(1,2,3,4,5,6.....n),输出有多少种排列使之有k 阅读全文
posted @ 2019-04-11 16:51 Cloud.9 阅读(127) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/dungeon-game/ 一个二维矩阵n*m做的地图上,每个都有或正或负的整数,对一从左上到右下的最短路径(每步只能向右或者下)我们走的同时会记录当前位置的累加和s,所以一条路会有n+m-2个位置,所有这些和的最小值是该路径的价值,求价值 阅读全文
posted @ 2019-04-11 14:23 Cloud.9 阅读(144) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-04-09 13:35 Cloud.9 阅读(186) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/contest/1119 第一题:没有算法,直接得结果。 第二题: 两种解法 1.二分答案,每次都要重新排序前k项,这样利用不上之前的排序信息。二分之后的排序+验证时间是n*log(n)+n。一共是n*(log(n)^2) 2.不用二分,从0开始验证,优点 阅读全文
posted @ 2019-04-08 12:09 Cloud.9 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 断网导致原来写的那么多答案全没了,博客园能不能实时保存草稿,醉。 https://leetcode.com/problems/shortest-subarray-with-sum-at-least-k/ 给一个数组a,找和大于k的所有子数组中的最短的那个。 最近二分有点上头,因为的确很强大,两个考虑 阅读全文
posted @ 2019-04-07 17:47 Cloud.9 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 使用任意方法序列化一个二叉树。 https://leetcode.com/problems/serialize-and-deserialize-binary-tree/ 原来带有None作为结束标志的x序遍历的结果是可以唯一的恢复一颗二叉树的!!! 如果没有None结束标记,是无法做到的! 代码没法 阅读全文
posted @ 2019-04-03 18:23 Cloud.9 阅读(205) 评论(0) 推荐(0) 编辑
摘要: https://codingcompetitions.withgoogle.com/kickstart/round/0000000000050e01/000000000006987d 二分思想太牛逼!!!! 阅读全文
posted @ 2019-04-03 16:16 Cloud.9 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 错误思路:二分去找最大正方形a*a,拿着最大正方形的边长a去找最大矩形a*x。问题是有了最大正方形a*a,最大的矩形也可能边长里面没有a,可能是一个很狭长的长方形。尤其在1密集的矩形中。最近做了几个二分的题目,二分思想真的强大,优化问题转判断问题。 01矩阵的最大矩形相关的问题还是很多的。 为什么自 阅读全文
posted @ 2019-04-03 16:00 Cloud.9 阅读(137) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/word-ladder-ii/submissions/ 1.正向搜索,反向穷举答案。这样才能使运行时间严格等于答案规模,避免爆炸💥。 2.第一次尝试用generator,感觉很好。 3.预处理三步走: a.生成所有邻近词 b.生成所有li 阅读全文
posted @ 2019-01-17 16:49 Cloud.9 阅读(198) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/median-of-two-sorted-arrays/ 给你两个排序后的list,求两者concat后的中位数。 思想很简单,方法很很很复杂!!!至少对我来说 就是先一般化一下,找到两个listA 和listB 合并后的第k大的数。 如果 阅读全文
posted @ 2019-01-16 14:07 Cloud.9 阅读(99) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/minimum-window-substring/ 滑动窗口 1.如果要求只要出现就算,也就是所t='a'和t='aa'是一样的话,那么记录一个出现过的字符的dict,只要这个set和目标set一样大,就可以去记录一下结果。这个结果可能是窗 阅读全文
posted @ 2019-01-10 15:20 Cloud.9 阅读(205) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/first-missing-positive/ O(1)空间复杂度,找到最小的没有出现在nums中的正整数。 其实算不上严格的swap,因为不用交换,当前的位置上如果不是正确放置的(不是正确放置:nums[i]!=i)那么,就把这个数字放到 阅读全文
posted @ 2019-01-10 14:29 Cloud.9 阅读(115) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/n-queens/ 才发现这么经典的题目之前并没有真正写过。 不同行,不同列,不同对角线。 不同行:直接每行一个。 不同列:set储存哪些列被占用了。其实最好用list[bool]来做。 不同对角线:如果挨个check前面的可能性,那么不就 阅读全文
posted @ 2019-01-10 13:44 Cloud.9 阅读(92) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/word-break-ii/ 给你一个words的set()以及一个字符串,返回所有的断句方式 单词就是梯子,目的是用各种梯子搭到最后,输出所有的梯子搭建可能性。 ⚠️注意:题目需要的东西不同,策略不同,需要返回所有解和只返回能否有明显不同 阅读全文
posted @ 2018-12-28 14:54 Cloud.9 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 终结的方式:在递归最深处直接把结果扔到事先准备好的容器中。终结条件可要想好了,触底就返回。 取消重复的方式:在喂给下一层递归的时候,每种字符c只喂一次。里面的原理非常哲学。 时间复杂度:O(L*ANS),L代表字符串长度,ANS代表最终结果数量。 然后来了个新需求:非递归实现。 最好掌握一种通用的递 阅读全文
posted @ 2018-12-20 15:20 Cloud.9 阅读(196) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/split-array-with-same-average/ 一个数组,能否分成两部分,使之平均值相同。解题过程很愉快呀。 经过几次转换,变成一个比较简单的题目。 问题1:原始数组a,分成两个子数组a1,a2。a1和a2的均值相同,则必须等 阅读全文
posted @ 2018-12-11 18:37 Cloud.9 阅读(257) 评论(0) 推荐(0) 编辑
摘要: import torch import numpy import torch.nn as nn import torch.nn.functional as F from PIL import Image from torchvision import transforms import torchvision.models as models normalize = transforms.No... 阅读全文
posted @ 2018-10-24 17:02 Cloud.9 阅读(849) 评论(2) 推荐(0) 编辑
摘要: import torch import numpy import torch.nn as nn import torch.nn.functional as F from PIL import Image from torchvision import transforms import torchvision.models as models vgg = models.vgg16() pre=... 阅读全文
posted @ 2018-10-24 15:23 Cloud.9 阅读(6243) 评论(0) 推荐(0) 编辑
摘要: 坑点: 1.pil在打开图片时,默认rgb,默认0-1范围。要搞成0-255的自己去乘 2.有个注意的点,pytorch在第一次con到全联接的时候,要做一个展开操作,直接h=h.view(h.size(0),-1)就可以和caffe的一一对应 3.rgb转bgr:im=im[[2,0,1],... 阅读全文
posted @ 2018-10-23 18:25 Cloud.9 阅读(4842) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/super-egg-drop/description/ 典型2维dp。把现在第一个鸡蛋仍在k楼,碎了就是上面的楼层和剩下的鸡蛋,不碎就是下面的楼层和所有鸡蛋,于是划分了相同类型的子问题。 如果有down-top来做,就是k*n*n复杂度的, 阅读全文
posted @ 2018-10-08 23:38 Cloud.9 阅读(240) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/1042/D 抽象成一个问题:一边增加数组长度,增加之后再随机找小于某阈值的数的个数。 树状数组,离散化,模拟运行一遍,找到所有可能出现的值,记录下来,给一个index映射,然后在数值的波动范围上做查找, 阅读全文
posted @ 2018-10-08 15:37 Cloud.9 阅读(185) 评论(0) 推荐(0) 编辑
摘要: https://leetcode.com/problems/patching-array/description/ 给你一个数列a,以及一个数n,问你数列a里面最少再添加几个数,就可以用数列a中数字拼凑出1~n任意情况。 又是贪心,直接从中间某情况考虑,假设我们现在使用a的前j个元素在添加了ans个 阅读全文
posted @ 2018-10-08 12:27 Cloud.9 阅读(118) 评论(0) 推荐(0) 编辑
摘要: http://codeforces.com/problemset/problem/1059/E 想法非常的新颖,以为是个树形dp,你根据子节点的情况来决定父节点是跟随某个子节点继续向上,还是自己独立开始一段新的path。 但是!!!想想这个问题的性质,有个疑问:局部最优会导致全局最优吗?答案是肯定的 阅读全文
posted @ 2018-10-07 15:32 Cloud.9 阅读(351) 评论(0) 推荐(1) 编辑
摘要: http://codeforces.com/contest/1060/problem/D 贪心啊!!!! 既然两个a的左和b的右在重叠,那就尽量让重叠最多。 排序后用贪心不就ok。排序n*log(n)+最后o(n)求answer 因为:可以用很多张桌子!! 太坑了,读题想当然觉得是一张桌子,就带来了 阅读全文
posted @ 2018-10-05 01:47 Cloud.9 阅读(253) 评论(0) 推荐(0) 编辑