该文被密码保护。 阅读全文
摘要:
##引言——DP的本质 DAG上的动态规划与树形DP这两个词看上去很高大上,但实则就是记忆化搜索,而记忆化搜索其实就是DP的本质。当选择一个需要用全局变量来参与描述状态的方式时,就只能用常规搜索。但当状态可以完全被几个非全局参数确定性的描述时,就可以用记忆化搜索,记忆化搜索可以通过存储答案并直接提取 阅读全文
摘要:
重点在于看出来操作1至多执行一次,之后就很容易了 ,加上一些预处理的小优化就能过,就是代码逻辑比较复杂,对coding能力有一些要求 #include <iostream> #include <cstring> #include <string> #include <cstdio> #include 阅读全文
摘要:
详见https://github.com/KaiEureka/Algorithm-Training-Record 阅读全文
摘要:
一道构造题,我的做法似乎思维复杂度上远高于答案的做法,因而不是什么好做法,但幸好我最后还是调出来了,另外就是会爆ll...下意识写int的我根本想不起来用ll啊,看来不得不define int long long了 Code #include <iostream> #include <cstring 阅读全文
摘要:
打Codeforces时有不少做题感悟,想到一条写一条,记录下来自己才不会忘 使用容器,特别是STL容器时,要记得在每轮小输入开始时初始化,结束时清空,否则可能会WA并因此浪费好多时间调代码 不要着急写代码,先把整个过程在纸上或脑海中走一遍,确定完全知晓要实现的过程后再实现,先胸有成竹再画竹,而不是 阅读全文
摘要:
//#pragma execution_charactor_set("utf-8") #include<iostream>#include <string>#include <vector>using namespace std; class Police;class Thief;class Pol 阅读全文
摘要:
简单的很,十分钟不到就切掉了,做这道黄题是因为今天写累了不想写代码了,就最后做一道简单的。看来黄题对我而言基本就是“一半能切一半想一会之后能切”,除非题目是思维题 阅读全文
摘要:
对于一个数据结构而言,我们总要能对其进行两件事:修改和操作。操作在这里是一个专有名词,专门指代求最值、求和等操作,具体能指代什么操作之后再聊。 如果朴素的用数组进行存储,那么修改是O(1)的,而操作往往是O(n)的。 当操作指的是求和的时候,我们可以使用前缀和算法,前缀和使得操作是O(1)的,然而, 阅读全文
摘要:
树状数组是线段树的衍生产物,牺牲了部分通用性,节约了空间,且大大减少了手写码量。
借助树状数组,我们可以用O(logN)的时间复杂度来实现给定序列中长度为n的区间中元素和的计算。 阅读全文
摘要:
这道题倒是不难想,半分钟想到思路10分钟不到调完代码。但随后TLE了...然后用上cincout加速,依旧TLE了,直到最后换上快读才AC 阅读全文
摘要:
也是一道思路题,甚至没做对,看来今天脑子有点昏,明个再说 正确代码 #include <iostream> using namespace std; inline long long gcd(long long a,long long b){//最大公因数 return b?gcd(b,a%b):a 阅读全文
摘要:
这道题被样例误导了,没想到思路,看了眼提示才做出来。代码本身很简单,关键在于能不能想到思路。 Code #include<iostream> using namespace std; string sa[1005],sb[1005]; int N,M,mc; int main() { ios::sy 阅读全文
摘要:
这道题很简单,但是启发我把这一类题都起名为思维题,贪心题大部分都是思维题,但还有很多不属于贪心题的思维题,总之思维题就是考察思维能力,和算法无关,通常能做出来的都能轻松做出,做不出来的想破头也想不出来,这道题属于前者。 阅读全文
摘要:
题目 这题后来看了看网上的思路,发现贪心就能做,亏我还写了个O(2*N)的DP...浪费时间了属于是 my-code #include <iostream> #include <cstring> #include <string> #include <cstdio> #include <cstdli 阅读全文
摘要:
题目本身只是一道有些难度的普通dp题,题解中有人说可以把这个看作是背包,我不是这么做的便没细看,感觉能把他联想为背包问题的特例的人的发散思维能力真强。不过倒也没必要,常规做即可,用二维数组即可描述状态,dp[i][j]表示只由前i个横向单位长度组成的游戏中以(i,j)结尾游戏所需的最小游戏次数 然后 阅读全文
摘要:
一道普普通通的模版题,让我想起了此前做过的绿题P1725,于是运用相同的知识轻松切掉本题 阅读全文
摘要:
状压dp的本质在于通过一个用位压缩表示了的复杂状态指标来实现对于极细状态的刻画,从而解决子问题所需描述过细的问题,同时利用位运算的快速性实现快速运算。 阅读全文
摘要:
突然意识到,商品可以重复购买和商品只能买一个两种问题其实只要改一行代码即可实现,即两个问题只要改一下刷表的顺序即可,对于逆序刷表那便是只能买一次,顺序刷表便是不限制购买次数,如下 //逆序 #include <iostream> #include <cstring> #include <string 阅读全文
摘要:
时间序列预测分析算法 一.前言 时间序列预测分析算法利用过去一段时间内某事件时间的特征来预测未来一段时间内该事件的特征,听上去和回归拟合没什么区别,但两者并不一样,至于为什么,一会再说 简单来说,时序预测分析算法专门用于时序数据的预测分析,数据本身可以有一个或多个自变量,但其中至少包含有一个时间指标 阅读全文
摘要:
代码: clc; load("data.mat"); save("data.mat"); TC=ProblemCDataWordle; %数据处理 noC=TC(:,1); wordC=TC(:,2); dataC=TC(:,3:11); no=cell2mat(noC); data=cell2ma 阅读全文
摘要:
看了很多讲解新概念新模型的文章,这些文章往往要么讲的很浅不讲原理只讲应用,让人知其然不知其所以然。要么讲的很深小白看不懂,同时总是忽略关键部分,经常性引入陌生概念让初学者疑惑,因此有了本系列文章,任何能熟练掌握线性代数知识且逻辑思维能力尚可的人都可以理解,而无需其他数模知识,涉及任何新概念都会先讲解后使用 阅读全文
摘要:
看了很多讲解新概念新模型的文章,这些文章往往要么讲的很浅不讲原理只讲应用,让人知其然不知其所以然。要么讲的很深小白看不懂,同时总是忽略关键部分,经常性引入陌生概念让初学者疑惑,因此有了本系列文章,任何能熟练掌握线性代数知识且逻辑思维能力尚可的人都可以理解,而无需其他数模知识,涉及任何新概念都会先讲解后使用 阅读全文
摘要:
看了很多讲解新概念新模型的文章,这些文章往往要么讲的很浅不讲原理只讲应用,让人知其然不知其所以然。要么讲的很深小白看不懂,同时总是忽略关键部分,经常性引入陌生概念让初学者疑惑,因此有了本文,任何能熟练掌握线性代数知识且逻辑思维能力尚可的人都可以理解,而无需其他数模知识,涉及任何新概念都会先讲解后使用 阅读全文
摘要:
这题今天没太做明白,这只是部分代码。 主要反思如下:应该观察全部21副图,或者看同一指标21条线的那两张关键图,然后发现由先上升后下降的趋势,因而应该选用二次函数拟合,即用一元二次函数建立回归模型利用最小二乘法求解(polyfit即可),而不是用一次函数。 其次,对于多变量相互影响的第二题,应该对数 阅读全文