![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM
文章平均质量分 77
Star_.
这个作者很懒,什么都没留下…
展开
-
2021年11.20周总结
这周继续刷搜索的题,然后中途遇到了几个很狗的题,就再后几天做了几天的dp,最近有点慌考试,自己也有点偷懒了。考虑将如此安排在一个 3 \times 33×3 行列中的九个时钟:P1213 [USACO1.4][IOI1994]时钟 The Clocks目标要找一个最小的移动顺序将所有的指针指向 1212 点。下面原表格列出了 99 种不同的旋转指针的方法,每一种方法都叫一次移动。选择 1 \sim 91∼9 号移动方法,将会使在表格中对应的时钟的指针顺时针旋转 9090 度。移动方法 受影响的时钟原创 2021-11-20 16:39:44 · 574 阅读 · 0 评论 -
2021年11.13周总结
这周继续刷搜索的题,从刷题中知道了一些之前不知道的技巧与思想P1120 小木棍乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过 5050。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。思路:一看是求最小长度,就想的是用队列的广度优先搜索,然后就wr了,看了题解,知道了这是一道DFS,这个题需要一个一个数开始遍历,直到找到适合的长度。所以在进行搜索时就需要大量的剪枝了。剪枝1:所原创 2021-11-13 15:54:16 · 384 阅读 · 0 评论 -
2021.11.06总结
这周一直在刷搜索和dp的题,偶尔碰见dp加搜索的综合题,还打了一场cf,虽然结果不太好,差一点c就出了。自己有点菜,还需慢慢变强P1052 过河在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧。在桥上有一些石子,青蛙很讨厌踩在这些石子上。由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,\cdots,L0,1,⋯,L(其中 LL 是桥的长度)。坐标为 00 的点表示桥的起点,坐标为 LL 的点表示桥的终点。青蛙从桥的起点开始,不停的向原创 2021-11-06 20:12:19 · 1886 阅读 · 0 评论 -
2021.10.31总结
高精度,快速幂,LCM,GCD和一些细节首先,这周,应该是这段时间,自己一直没状态,没方向,不知道自己在坚持什么,在追求什么。很迷茫。学的也不怎么样就列一些模板和基础的吧高精度模板#include<bits/stdc++.h>using namespace std;string add(string a,string b)//只限两个非负整数相加{ string ans; int na[2005]={0},nb[2005]={0}; int la=a.si原创 2021-10-31 21:00:20 · 63 阅读 · 0 评论 -
2021.10.23总结
学习:记忆化搜索,区间dp复习,数位dp,状态压缩dp。计划:刷题同时尽快学习算法,同时每场div2,3cf尽量参加,提高代码能力和自身手感。这周重要是刷了一些div3的题来提高自身代码能力,因为前不久发现自己有时候思维打不开,或者是有思路但是写不出代码。离老师说的省选-以下的题能信手拈来还差的很远。下周还是以洛谷题为主,不能太耽误洛谷上的进度。看老师发的文章,时间不太重要,重要的是题的数量和质量,我也不能光刷简单题。想要提高自己水平,还是要刷提高题的。有的的时候自己确实有点忙不过来,不为别的,就为提高原创 2021-10-23 09:37:24 · 55 阅读 · 0 评论 -
10.16模拟退火,归并排序,快速排序,洛谷题
模拟退火:伪代码eqs=1e-8;//终止温度,接近0,用于控制精度T=100;//初始温度,应该是高温,以100为例delta=0.98;//降温系数,控制退火的快慢,比1小g(x);//状态下时的评价函数now ,next;//当前状态与新状态while(T>eps){ g(next);g(now);//计算能量 dE=g(next)-g(now);//能量差 if(dE>=0)//新状态更优,接受新状态 now = next;原创 2021-10-16 21:53:30 · 211 阅读 · 0 评论 -
线段树简述
线段树概念:线段树是一种二叉搜索树,其存储的是一个区间的信息,用[L,R]表示从L到R之间存在的信息。线段树的延迟更新:在结构体中再定义一个对象 lazy,add记录的是此节点所代表的区间所有数被加的值,在我们进行操作时,比如加减,我们就可以利用lazy然后往下修改,而不用修改一次就遍历一次,大大节约时间。线段树的基本操作:建树、单点查询、单点修改、区间查询、区间修改结点的构建:const int maxn=1e6;struct node{int l, r,lazy,val;}tr原创 2021-10-02 22:58:57 · 94 阅读 · 0 评论 -
八数码与A*算法
八数码状态搜索问题八数码问题也称为九宫问题。在3×3的棋盘,摆有八个棋子,每个棋子上标有1至8的某一数字,不同棋子上标的数字不相同。棋盘上还有一个空格,与空格相邻的棋子可以移到空格中。要求解决的问题是:给出一个初始状态和一个目标状态,找出一种从初始转变成目标状态的移动棋子步数最少的移动步骤。我们从空格处移动,也就是初始状态A,可以按上下左右顺序移动,之后再将这四个改变的棋盘再拓展,直到目标状态F。在此中间,我们还要判断这个状态是否与之前的状态重复,一是减少时间复杂度,二是使我们的代码更加完善。这原创 2021-08-09 11:02:45 · 425 阅读 · 0 评论 -
暑期学习-并查集及未来规划
并查集将编号为1-n的n个对象划分为不相交集合,在每个集合中,选择其中某个元素代表所在集合。在这个集合中,并查集的操作有初始化,合并,查找。例如hdu1213和poj2524是一个问题Today is Ignatius’ birthday. He invites a lot of friends. Now it’s dinner time. Ignatius wants to know how many tables he needs at least. You have to notice tha原创 2021-08-02 16:31:49 · 72 阅读 · 0 评论 -
暑期学习-搜索及习题
由于前段时间在考驾照所以耽误了一些时间没写博客。今天开始写搜索虽然在学校学过的,但因为没刷题所以现在回顾刷下题广搜(BFS)利用队列,查询到一个分支,如果有一个能走就往下走,不能走就往上一个。HDU1312There is a rectangular room, covered with square tiles. Each tile is colored either red or black. A man is standing on a black tile. From a tile, he原创 2021-07-30 16:57:36 · 65 阅读 · 0 评论 -
2021年 3月8日-3月14日ACM学习日志
本周学习:1.STL简介 2.贪心算法一STL简介一.string 类 表示可变长度的字符序列(比char类型的数组好用的多)头文件:string的使用(1)初始化(可以对string类型的变量直接赋值)string str;str="abcd"; (2)string 的访问1:通过下标访问(类似于字符数组)#include<bits/stdc++.h>using namespace std;int main(){ string str;原创 2021-03-13 13:02:53 · 241 阅读 · 0 评论 -
2021年3月15日-3月21日ACM学习日志
本周学习:贪心算法和一些写代码的小细节一:贪心算法思想:局部最优达到全局最优。做题时想法:看到一个题,我们不知道一眼就看出他是个贪心的题,我们先用自己最根本最基础的思路走一遍,然后在其中我们再思考哪里可以优化的地方,渐渐的,我们就能用到贪心的思想。遇到题实在不会时:第一步,我们先读懂文字版的题意。第二步,我们看看能不能用数学推导出一个条件来。第三步,如果不能推出一些条件,我们可以查看csdn上的经典代码的实现,按他们的思路走一遍,这样我们会更加理解这个题的算法思想,然后我们回到第一步,不断加深原创 2021-03-20 12:08:19 · 2028 阅读 · 6 评论 -
2021年3月22日-3月28日ACM学习日志
本周学习:贪心的题,codeforces上的比赛和初学动态规划一:贪心的题也做了两周了,思想很易懂,但题千变万化。我觉得还是做的太少,看见一个题不知道往哪想才对。总结下这周做的题,1.最优问题,比如给你每天生产一单位牛奶的成本(每天成本不同),和放仓库一周的价钱 ,按照客户每周的需求量,怎么才能成本最少。想法思路:我一开始看题看错了,以为放仓库一周的价钱就那些呢,后来才看见是那是一单位放一周的价钱,当时就想如果这周的成本比下一周少,那么我们就在这周把下一周的牛奶也生产出来,写下代码不对,又重新审题,原创 2021-03-27 14:06:19 · 153 阅读 · 1 评论 -
2021年4月12日-4月17日ACM学习日志
本周学习:继续学习经典dp,刷题理解巩固突然想先写写感想:这周代码的思路比上周想的快了许多,上星期真的是哪个题都是没思路,看题也不懂这个状态方程怎么来的,也不太理解状态方程各个量表示什么意思。在这周,每天稳定1到2题,由于现在白天课有点多,所以写代码的时间也就是晚上了,白天就看看题,思考思路。不过,现在在做题时,我知道我们现在做的题是锻炼dp的,但我觉都如果以后随便给我一个题,我还不能直接判断他是个dp题,在vjudge上的题时,明知是dp题,我总觉得不用dp就能做出来,然后就不用想,做,做着做着就走不原创 2021-04-17 10:48:39 · 114 阅读 · 0 评论 -
2021年4月18日-4月25日ACM学习日志
本周学习:区间dp,背包问题感想:由于要军训,我就早写会博客,上一个线性dp的作业做的我感觉还可以,慢慢琢磨透了,每天写到晚上1点确实有点吃不消,我这周的做题就没那么久了,到晚上11点多就不学了,也就晚上能做一两个题,一开始能做两个,后面就能做一个了,因为区间dp的题有老师讲过的,我也就一下子就知道思路,没讲过的也就做的比较慢了,区间dp和线性dp不太一样,我觉得就是线性dp和区间dp中设的状态方程有所不同,表达的含义不同,区间dp就是把一行数分为分为几个小的区间,然后求小区间的最优解,最后合并,和线性d原创 2021-04-24 22:19:16 · 131 阅读 · 0 评论 -
2021年5月1号-5月9号ACM学习日志
学习内容:背包问题和回顾知识背包问题:在51假期我也是把ppt好好了看了一遍,因为老师在课堂上讲的时候我可能会听不懂,所以正好趁着这个假期把ppt看了一遍,结果,在老师上课时我真觉得轻松了很多,毕竟我知道题的解法和思路了。01背包:就是每个只能选一次。而完全背包就是没有数量限制,任意选。他们在代码上的不同就在于第二重循环上,01背包是从v到0,完全背包是从0到v,就是因为内循环的不同导致的。然后老师又讲了多重背包,这个我看ppt的时候就不怎么明白,简单来说就是把01背包和完全背包放一块了,但细节上还原创 2021-05-08 09:40:48 · 126 阅读 · 0 评论 -
2021年5月10号-5月16号ACM学习日志
本周学习:加深背包问题,学习二分法背包问题:这周主要是在刷题,每天1到2个背包题,背包问题就那些套路,但题千变万化,有的题就是简单的01背包和完全背包,套下来就能对,到了多重背包,就要花些心思了。还有一个很重要,就是我们在看完题后,要辨别出这是个什么背包,他的数量有没有限制,查看限制信息。说实话,这周做的不怎么好,虽然背包问题比之前的dp简单一些,但这个有套路的感觉老是把我引偏,最后还是做不出来,可能是因为自己不够创新,做的题少,一看见题我就开始想着怎么把背包里的那几个套路放进去,可有的题不是那样的,他原创 2021-05-15 10:24:38 · 114 阅读 · 0 评论 -
2021年5月17日-5月23日ACM学习日志
本周学习:二分法,搜索二分法:这周大部分是在做二分法的题目,比起dp,二分法的思路我感觉还是比较好想的,做题的速度和质量都比上周要强,晚上自己做出来一个,就很兴奋,还想再看下一个题,看到ac就感觉很爽,不过也遇到过很懵的时候,就是运行没错,就是没有输出,就很奇怪,我到现在也没搞明白我那个代码错那,就是没有输出,在做题过程中还有一点是,注意数组的大小和froopen提交时的注释,我已经因为这两个wr好几次了,老是忘,一看见运行结果对,就提交,以后要注意点,如果比赛的时候因为这个罚时就后悔死了。老师就说过,原创 2021-05-22 10:43:21 · 157 阅读 · 0 评论 -
2021年3月29日-4月10日ACM学习日志
本次学习:动态规划和一些小技巧经过学习,我感觉动态规划比贪心难的多,这个动态规划的思想真的难以理解。首先先说下,动态规划是分阶段求最优值的方法,和贪心不同,贪心是一个贪心规律一直运行下去,而动态规划是分阶段,将一个问题分为若干个小问题,利用小问题的值来解决大问题。动态规划每一阶段都会有状态变量,除了找出解题的方法,还需要写出每一阶段的状态方程。但这个状态方程真的不是很好找。除此之外,动态规划会用到很多多重循环,这也就导致时间复杂度和空间复杂度过高,有时候可能我们用比较朴素的方法写的代码没出错,但一提交原创 2021-04-10 16:38:30 · 115 阅读 · 0 评论