总结
cf,
周记
个人小结
Brokenrivers
这个作者很懒,什么都没留下…
展开
-
ImportError: xxx.so: failed to map segment from shared object - uWSGI部署 pytorch和tensorflow 报错 (已解决)
报错大概意思是映射共享库文件失败。虽然和库与python的版本及其依赖有关,但最后排查主要问题还是出在uwsgi对进程的内存分配不够。原创 2023-05-23 00:33:43 · 2348 阅读 · 0 评论 -
Python-GIL深度理解
多线程/进程数据混乱的原因:cpu分成多个时间片段,启动10线程,分配10个cpu时间片段,当我累加数字设置比较小的时候,在单个cpu时间片段内,for循环代码就执行完,就不会产生数据混乱的。原创 2023-03-20 16:36:23 · 278 阅读 · 0 评论 -
12.25 训练周记
双向搜索,就是在起点搜索的过程,终点也在往回搜,从而达到优化的效果。这题比较常规,正常的搜索加上双向优化即可。比较明显的区间dp,把合并n颗珠子的问题转化为合并(n+1)个数合并的问题,只不过有一个数是公用的。利用dfs找到每个点的父亲和每个点的深度。一个循环初始化一个点上面第(1原创 2022-12-25 23:14:34 · 157 阅读 · 0 评论 -
11.27 训练周记
状态压缩dp,总而言之就是将本来很复杂的状态,表示成二进制的形式,然后进行状态转移。这周事有点多,训练方面有些摸了没学什么新的东西,复习了一下状态压缩dp和数位dp。其中常会用到位运算操作,比如查看当前状态i的二进制形式第j个点(位置)是1还是0。数位dp理解起来和写起来都比较麻烦就不展开篇幅。这两之前的博客也谈过了,就不浪费时间细说。原创 2022-11-28 12:23:21 · 112 阅读 · 0 评论 -
11.13 训练周记
找出割点之后,用类似并查集的方式给整个环指定一个父亲,以后这个环就由这个父亲代表,解决了图中存在环的一些问题。虽然一般图论题不会故意出这种题,但是也算是用到次数比较多的算法了(大部分算法学完一次都没用到过...)Tarjan因为之前写过博客了就不分析代码细节了。最近写到了一题需要缩点,缩点本质是解决图中存在环导致难以执行一些操作如最短路之类的问题。然后除了一些思维题就是一些杂题,话说上次网络赛就是卡在了表达式求值这块,刚好找到了一题练练手。的时候则断开这个父节点,其他节点仍然可以由他的子节点通过所以。原创 2022-11-13 22:04:00 · 276 阅读 · 0 评论 -
11.6 训练周记
这周主要学习了数论和一些概率论的数学知识。暑假已经学了一部分基础的数论了,复习了一下然后接下去学了。这周主要学习了扩展欧几里得和同余还有欧拉定理方面的知识。目前感觉比较实用的还是数据结构和动态规划比较有用。后面还是多花点时间在思维题和数据结构方面吧。但是目前还是用不到,实际比赛应该也写不到这种图,当作知识补充吧。而扩展欧几里得定理就是用来得到定理中的a和b的。其原理说实话还不太会证明。由以前学过的知识,由裴蜀定理。是不全为零的整数,则存在整数。有了扩展欧几里得定理后,原创 2022-11-06 21:45:04 · 92 阅读 · 0 评论 -
10.30 训练周记
开学也两个月了,要我个人总结的话这两个月花在acm上的时间确实不如之前了,经过暑假的好几次比赛和九月份的网络赛突然感觉自己好像不是这块料,说没有打击是不可能的。当前状态为dp[i][j]表示,i的点链接情况下,j为最后一个链接点的最小权值和。按我的理解,因为直接表示该题的状态会非常麻烦,用二进制表示当前所有点的链接情况,已经连上的记为1,反之为0.注意,转移的时候,j已经是最后链接的点了,那么j必须是为1的,且待转移的之前状态中j不能为1。我的理解是 状态压缩dp,总而言之就是将本来很复杂的状态,表示成。原创 2022-10-31 09:05:51 · 101 阅读 · 0 评论 -
10.23 训练周记
最短时间也就是m/2对中的最长时间,贪心很好想,肯定是时间最短的牛和时间最长的牛匹配才会使最长时间最短。所以这里的双指针设定一个头尾指针,直接判断这个时间的牛的数量然后相减可以剩下大量时间,而不能一个一个的匹配。简洁概况就是对一组最大值很大很大但个数较少的的数的铺平操作,酱所有数按顺序映射到区间上,适合对数具体没有操作,只考虑相对值的题。对于dp,同上一题的状态,这次我们的状态转移有些变化。对于(i,j)点,要满足他左上方为交错矩阵,首先他必须先和周围三个点构成交错,然后才能进行转移。原创 2022-10-24 10:42:30 · 79 阅读 · 0 评论 -
10.16 训练周记
这周做了一些有关线段树的练习,和复习了一下其他算法。这周不知道说啥,就直接放点题吧题意是给定一组线段,求最后重叠了k以上的点。这题可以不用线段树也很好做。但如果是用线段树的话,可以先维护两个线段树,进行点的覆盖和区间的覆盖,等到所有操作接受pushdown一串,然后扫描线段输出即可。原创 2022-10-16 21:22:12 · 106 阅读 · 0 评论 -
10.10 训练周记
这个算法通过O(n)的预处理,可以O(1)的得到数组任意区间上的和。最基本的线段树没有lazy标记和pushdown操作,在确立了我们建立了一颗什么逻辑的树之后,最主要的操作就是遍历和询问。我的理解是,如果目标区间跨了根节点的中点,比如像目标区间[0-3]和当前节点[0-5]这样目标区间跨了节点区间的两边。计算机不知道要怎么分解区间,那么当目标区间跨了节点区间的两边时,向两边搜索,如果搜索的过程发现目标区间在当前节点区间的中点左边,我们就向当前节点区间的左半边区间搜索,反之就向右半边搜索。原创 2022-10-10 11:19:30 · 134 阅读 · 0 评论 -
10.4 月总结
开学到现在刚好一个月看,这一个月在算法方面略感颓废感觉失去了继续补题刷题学算法的动力,这一个月每天花点时间就能学会好多专业技能带来的成就感,更让我开始怀疑我是否应该继续下去...思来想去,和队友讨论了好多次,还是认为把acm当作一个爱好吧。可能我从来就不适合打算法竞赛,但是我还有其他擅长的事,接下来我会继续认真对待acm的训练,但也只是把学算法写题当作一个爱好了。最后再反省一下这一个在acm方面的停滞,但我觉得花一个月学学自己喜欢的东西和想清楚自己的动机和未来发展没什么不好的。还是期待接下来的学习。原创 2022-10-04 14:05:09 · 137 阅读 · 2 评论 -
9.25 训练周记
今天打的第二场网络赛,一如既往但是今天没有乱提交个人认为还行吧 ,j题那个出题数太离谱了但是仍然没出....这周写了点题外也没学什么算法方面的东西,比赛也是坐牢五小时。感觉国庆后得好好赶赶,这周没啥好写的。原创 2022-09-25 21:47:34 · 134 阅读 · 0 评论 -
2022 ICPC网络赛 个人总结
之后就是H坐牢,是个写解释器的大模拟。但是包括我在内,队里没人想写,都想找技巧出题。也没什么好遗憾的,就是自己菜,不是状态好就能多出题的情况。上次省赛还能说说自己dp掌握不熟练,stl不熟练导致两题挂了,这次没有,我也不想找借口了。不需要安慰的话,也被打击的有段时间了,自己啥水平自己清楚。没什么好说的,很受打击,但是想了想还是打算坚持下去。希望大三可以拿个铜吧,代表两年的时间都去哪里了。不知道那C题卡的啥,memset还超时。最后改掉memset然后靠队友的idea改了代码a掉了。原创 2022-09-17 22:15:28 · 2256 阅读 · 3 评论 -
暑期训练总结
没看到群消息差点没了 这个假期的有效训练时间差不多为40天。这个暑假学习的算法不算多,但是也确实刷了挺多的题,其中很多时间也在学习动态规划,现在感觉还是顺其自然吧,基础的也学完了,题也写了挺多,虽然还是很多题不太会,但也不能把时间都花在动态规划上。 值得一提的是,这个暑假打了很多场比赛,每隔一两天的cf还有牛客的比赛,星期六和星期天固定会有acwing的周赛和力扣的周赛,力扣的周赛虽然总被说水,但是我目前也不能ak,也还是能学习到东西的就坚持打了。我发现,在这些比赛中,我能写到的原创 2022-09-04 19:14:28 · 117 阅读 · 0 评论 -
8.21 训练周记
这周说实话有点摸,题基本是靠比赛写的,洛谷基本没咋动。这周主要学习了一些简单的初等数论知识,感觉这一块还是比较欠缺的,才发现好多别人看起来是常识的数论知识,我却是学完了才明白。对于数论这方面,我的打算是先把基本需要掌握的知识过一遍,能理解,会简单的推导还能写代码就可以了。说实话,相对算法我对数学谈不上喜欢,甚至写多了还有点烦躁,这方面的深入知识还是交给队友吧。这周题目杂七杂八的写了一点,还复习了一下位运算,主要是位运算的特殊性质比较多,从来没见过的话真没想到还能这么写。特别是异或相关的运算。原创 2022-08-21 23:14:46 · 95 阅读 · 0 评论 -
8.14 训练周记
这周基本上没学什么新东西,洛谷上刷了动态规划的题,和打了几场比赛加补题。其他时间重新去刷了acwing的网课和对应的算法题。主要是连续打了好几场比赛,感觉基础不是很扎实一些比较基础还简单的算法比如前缀和和差分,双指针,图论等等,题目变形提升了思维量就想不到该用这些算法了。动态规划和模拟之类的题思路也不清晰,我认为是基础不扎实的原因,只是写了写模板简单的刷了几题不能算是学会这个算法,因为acwing报过了网课,就去把感觉思路不是特别清晰的算法又重新听了一遍,把模板也总结了,然后顺便把课后的题都写了一遍。...原创 2022-08-14 19:18:05 · 86 阅读 · 0 评论 -
8.8 训练周记
这周还打了很多比赛,acwing的,力扣的,cf的力扣的都有。我的感受是进步太慢了,之前写不出的题,现在依然写不出。这些场比赛,我的排位很一致的都在40%左右,还是很失望的,本来以为省赛到现在这段时间的练习可以突飞猛进,结果甚至是原地踏步。知道了问题所在,接下来我的规划是多写写实现题提升码力,并且限制短时间出题的能力,之前的练习几乎都是做电脑前磨磨蹭蹭的慢慢磨出一道题,感觉好像会写了,但是效率是真的很低,而且练习的时候题目会有标签,一看到标签就知道往哪方面思考,思维没有得到训练。这个地方也是需要注意的。..原创 2022-08-08 03:55:24 · 86 阅读 · 2 评论 -
7.31 训练周记
我对Tarjan的理解,其核心就是维护一个存储dfs遍历顺序的dfn数组,和一个存储当前节点最早能回溯到的顺序的数组low,通过比较dfn和low可以知道这个节点是否可以有超过父节点的回边,根据这个性质,则可以找出割点和割边,并且可以判断出是否成环,并且对其缩点去环。最后就是感觉本周的学习状态不是很好,应该是作息不规律,晚上很晚睡,到下午才醒,虽然做电脑前也能学到十二点一点,保证学习时间,但是这几天脑子感觉就是一团浆糊,难以聚集注意力和思考,接下来还得调整一下作息,不然感觉浪费了好多时间。......原创 2022-07-31 20:37:38 · 64 阅读 · 0 评论 -
7.24 训练周记
期间还学了学区间dp和树形dp,给我的感觉是,虽然有很多种类的dp,但是实际上更像是动态规划思想在其他类型问题上的应用,核心还是最朴素的动态规划思想。然后就是构造题的练习,之前的省赛和这段时间的cf比赛来看,发现目前提升的一个坎就是思维构造题,回顾之前打的cf比赛,div2和div3大部分时间都是花在前几道的构造思维题,哪怕接下来出现了自己会的算法题,比赛时也根本写不到。这周主要练习了线性dp还有cf的1200-1400的构造题,刚好洛谷支持cf的远程判题,写cf题的同时洛谷也能算上题目通过数。......原创 2022-07-24 22:56:02 · 84 阅读 · 0 评论 -
7-17 训练周记
不是因为题目难或者需要的算法太高深,而是那个诡异的题目翻译和题目里的坑。目前写的题绝大部分是模拟,偶尔有个简单dp和二分和贪心,遇到算法的还好,基本十几分钟就能写出来一发过。虽然写的时候总是很让人烦躁,但是这也是教练让我们写USACO题的一个目的吧。养成一个好的编码习惯,同时练习代码的实现能力。后面的训练还是要更静下心来先想好思路在开始写比较好,写完检查一遍代码的逻辑,争取一发过。暑假训练开始三四天了,除去自己找的一些算法题,这段时间写的题主要是教练安排的USACO的题目。写了这几天,我的感受是,很折磨。.原创 2022-07-17 21:50:51 · 89 阅读 · 0 评论 -
6.19 训练周记
这周主要还是学习线性dp,但是因为考试这周练习确实不多。还是把一些练习和基本的背包问题整理一下。最朴素的写法是把物品数放入递推过程中一起递推了,虽然一维优化后思路上仍然如此,但是没必要在在dp数组里加入物品数。我们可以把物品数优化,让体积从0-v每层外循环刷新一次dp数组(当前体积的最优解),但即使是把物品数优化dp数组化为一维,外层循环一样起到了枚举每一个背包体积的对应物品数的状态。直白点说,我们还是比较的同一体积下随着物品数增加最优解对应的变化,如果当前的体积下的最优解比下一次外循环(物品数变化)大,我原创 2022-06-20 09:37:34 · 197 阅读 · 0 评论 -
5.29 训练周记 /贪心
上周刚打完比赛,加上这周还有考试,没怎么缓过神来,这周学了点方便的c++新特性,然后就基本是摸了.....回到贪心算法,这周的任务是学习贪心。我认为,贪心与其说是一个算法,不如说是一种思维。由局部最优解推出全局最优的一种思维。与其有相似感觉的就是动态规划,贪心是取得每个小问题的最优解然后汇总成完整问题的最优解,动态规划则是取得相互关联的子问题的最优解然后不断递推得到整个问题的最优解。贪心的题难度跨度很大,简单的用常识看一眼就解决了,难的则怎么也想不出思路。其次,贪心其实是需要证明的,不是看出原创 2022-05-30 20:37:45 · 99 阅读 · 0 评论 -
2022 ICPC山东省省赛
第一次参加这种规模的比赛,今年这个比赛我感觉难度好大,队友模拟出了A,剩下的时间基本就是坐牢。也没什么发挥不好的说法,真是纯纯的做不出来,期间三个人苦思冥想两个小时的K题最后也是一点思路没有。E题写了个n^2的暴力,最后没显示超时,显示答案错误。bug也找不出来。不过要说真的遗憾的应该是H题,感觉n^2模拟能过,但是用了map来存状态,多了log的复杂度。思路应该没错,但是超时了,最后因为时间不够也没改完代码....虽然教练安慰我们大一打成什么情况都没关系,但是难免感到失落,毕竟因为...原创 2022-05-22 23:48:38 · 1153 阅读 · 4 评论 -
5.15 训练周记
本周主要学习了最小生成树相关算法,剩下的就都是练习了。这周做的练习有点多,有优先队列的(个人认为难度挺大的)还有并查集和一些图论的题目。打算找个时间写博客总结。一.最小生成树最小生成树单独写了一篇博客,就不过多赘述,主要说说经过练习之后对Kruskal和Prim的一些认识。最小生成树 Kruskal 和 Prim算法及堆优化_Brokenrivers的博客-CSDN博客首先求最小生成树一般有 Prim 算法与 Kruskal 算法,其中,Prim 算法时间复杂度为 O(V*V),与图中边数无原创 2022-05-16 00:11:21 · 130 阅读 · 0 评论 -
P4933 大师 线性dp总结
P4933 大师 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)常用的解题步骤:第一步:确定子问题。对于本题子问题即为当前有i个塔,他的方案数为多少。第二步:确定状态:这部非常重要,一个好的状态描述可以让你更容易想出状态转移 ,但是也很困难,需要仔细考虑。根据子问题来确定。找出可以描述每个状态的变量,本题的状态由以 i 塔结尾的公比为 d 的等差数列 描述。dp[j][d]表示以第 j 个塔结尾公差为 d 的等差数列方案数。第三步:推到出状态转移方程,...原创 2022-04-24 21:52:49 · 270 阅读 · 0 评论 -
Codeforces Round #783 (Div. 2)和Codeforces Round #784 (Div. 4)---- ABC | ABCDEF
Codeforces Round #783 (Div. 2)A题意:给定一个长宽分别为n,m的网格,起点为(1,1)每次可以上下左右移动,但这一次的移动不能与上一次的移动相同。问到右下角(n,m)的最小操作数。思路:(图是借的qwq)不能重复移动且步数最小的方法当然是沿着对角线右下移动,可以看到,移动到底边的时候就不能这样移动了,但是此时与终点同一水平线上。从图上可以看到,从左上右下移动的时候横坐标移动到min(n,m),纵坐标移动到min(n,m)所以如果当n==m且n和m没有原创 2022-04-24 00:24:03 · 417 阅读 · 1 评论 -
文件输入输出和Visual studio 对拍技巧
以前一直是用控制台cv输入输出的,有些题这样真的太麻烦了,首先是debug完要重新粘贴,而且比对输出和答案太麻烦了(打cf的时候多是一个样例一个输出,输入和输出混在一起)。所以研究了两天文件输入和比对,还熟悉了一下visual studio的操作。这里总结一下。1.文件输入输出在源文件中创建txt文本即可直接用相对路径访问。此处的correct文本为正确答案用于比对输出#pragma warning(disable:4996);//visual studio有时候会报安全错误,这个可原创 2022-04-21 20:33:25 · 735 阅读 · 0 评论 -
4.17 训练周记
这周主要练习了记忆化搜索和基础数据结构。这次的acm社团面试问了个很有意思的问题,就是bfs能否用栈实现。这个问题刚听到的时候挺懵的,不懂他到底想问啥。面试后好好思考了一下,这个答案是肯定的。bfs的本质就是从一个父状态衍生出多个合法的子状态,并不断判断每一种状态并继续产生每个子状态的子状态...而我们为什么要用队列实现呢?因为队列按先进先出的特性先处理完更早压入队列的状态,一层一层的进行搜索,直到搜索 终点,此时的步数就是最短步数。用队列实现我们的逻辑和思路会非常清晰,但是如果只是想实现处理状态,原创 2022-04-17 21:40:07 · 359 阅读 · 0 评论 -
4.10 训练周记
这周主要练习了搜索算法,整理一下本周的收获。目前遇到的搜索问题,大致可以划分为以下几类:1.填数/填表一般是给定一个规则,要求你按这个规则去找出问题的可行解。常见的问题如全排列,八皇后,数独等。这种题一般用dfs解决,因为这种问题后一个状态完全取决于前一个状态,dfs搜到的一条合法路径即为问题的解。但是原始的dfs必须再搜索完整个过程再判断是否合法显然太慢了,因为可能搜索过程中已经发现不合理了,就可以直接返回,从而加快搜索过程。而且该问题可以存在多解,此时可以通过回溯,返回上一步尝试其他的路线是原创 2022-04-10 20:38:11 · 301 阅读 · 0 评论 -
4.3 训练周记
这周主要回顾了基本的搜索算法。自己找了点时间重新刷了刷记忆化搜索,动态规划记录最优路径以及最长上升子序列及其优化。这次课上主要讲了bfs,dfs回溯的基础搜索算法,所以详细整理一下。 搜索算法,本质就是有目的对解进行枚举,相比普通的枚举算法,可以限定搜索方向,避开本无意义的无效枚举。首先是dfs深度优先搜索我课上印象比较深的例题那个素数环。如果没有学习dfs搜索算法,其实这题也能写,用for循环无目的的枚举每个位置该填的数,直到某个状态满足了...原创 2022-04-03 23:29:48 · 240 阅读 · 0 评论 -
3.31 Codeforces Round #780 (Div. 3)小结
虽然是DIV.3,但是跟上一场DIV.2一样只出了两题。10分钟左右出了A,又过了20分钟写了B,但是有点小bug,又看了遍题目改完了,提交,但是数组开小了re了。加了两拨罚时。比赛还剩一个多小时,而且c题也不难,但是我思路没找对,去用双指针遍历字符串模拟了,而且因为用了getline接受字符串,莫名其妙每次提交的时候会在答案前加个0(答案的初始化)。但我不知道咋改,交了好几发全wa就跑去写D,D想了一会也没啥思路,看看时间不多了又跑回去改C,最后这两题都没出。实际上string可以直接cin输入,而且只需原创 2022-04-02 00:30:07 · 279 阅读 · 0 评论 -
3.27训练周记
这周参加了两场比赛(今晚也还有一场),怎么说呢,感觉确实不太好,一场是教育赛6题出了两题(不过当时出了点小状况,在比赛总结里我提到了),第二场是div1 + div 2的只出了一道题,打完这两场说没有感触是不可能的,不过我还是用比赛打得太少了/思维题太多不适应的理由安慰自己,但总归还是得正视自己的不足,之后比赛还是得多参加,很幸运的是,组了队之后,有队友和我一起熬夜打比赛让我感觉不是一个人在战斗,赛后也能和队友一起讨论题目,每个人的思路不一定相同,不同时还能思考他的想法,比如有一题,我上手就写了半个小时..原创 2022-03-27 21:59:49 · 319 阅读 · 0 评论 -
3.24 CodeTON Round 1 (Div. 1 + Div. 2, Rated, Prizes)小结
这次心态给我打崩了,还是不太适应这种偏向数学的思维题,或者说还是太菜了。确实还得多练练。这次只出了,一道A(还因为设置无穷大的值太小卡了好几次),第二题公式关系一直推错。别的题基本没时间看,挺受打击的。因为赛后来看这两题真的不难,卡了一个多小时真不应该。A题大意是,对一个给定长度为n的数列a,必定存在一个数对<i,j>(1<=i,j<=n)使a[i],a[j]对任意k(1<=k<=n)都满足其中,i 和 j 可以相等找出其中一个满足这...原创 2022-03-25 15:42:16 · 541 阅读 · 0 评论 -
3.20训练周记
这周课上主要讲了部分stl的基本操作,stl把数据结构封装起来,并提供了一些函数接口给我们调用实现数据结构的操作。其实stl上学期就接触了,这次再次学习stl我认为不应该再只局限于记住这些函数的用法,这些用法看似繁杂,实际都可以从命名和该数据结构的特性推出。我认为现在更应该的是去思考这些数据结构应当在什么时候使用,和一些只有在实践才能了解到的细节。如,之前用queue写广搜的时候,发现有些题老是爆内存,一直没想明白为什么,去查了相关资料才知道queue的pop只返回并“弹出”该元素,但是不释放这个位原创 2022-03-20 13:01:33 · 860 阅读 · 0 评论 -
3.22 codeforces小结
说来好笑,也算接触小半年算法了,这次算是第一次"正式"的打cf。之前因为一些原因比较倾向于找个空闲时间上oj上刷题,虽然知道cf对一个搞算法竞赛的人的重要性,但是一直没去蹲点打比赛(我觉得就是我们宿舍这破网上个cf要转两分钟圈圈还经常崩的原因),最多会在比赛结束找比赛题目的文档练习。这次因为组队了,希望能和队友实时交流,手机开了梯子热点打完了这次的cf。感觉就是,自己像个傻子一样,提交代码的语言选成了c语言,导致一直显示编译错误又想不出来哪里出了问题。还有就是没有...原创 2022-03-23 01:46:50 · 1591 阅读 · 1 评论 -
01背包 动态规划入门——一维优化和记忆化搜索思路分析
有 N件物品和一个容量是 V 的背包。每件物品只能使用一次。第 i 件物品的体积是 vi,价值是 wi。求解将哪些物品装入背包,可使这些物品的总体积不超过背包容量,且总价值最大。输出最大价值。输入格式第一行两个整数,N,V用空格隔开,分别表示物品数量和背包容积。接下来有 N 行,每行两个整数 vi,wi用空格隔开,分别表示第 i 件物品的体积和价值。输出格式输出一个整数,表示最大价值。数据范围0<N,V≤10000<vi,wi≤1000输入样例:..原创 2021-12-29 18:16:41 · 756 阅读 · 1 评论