代码编织梦想

洛谷模板汇整-爱代码爱编程

普及- P3378 【模板】堆P3367 【模板】并查集P1177 【模板】快速排序P3383 【模板】线性筛素数P3370 【模板】字符串哈希P3366 【模板】最小生成树P1226 【模板】快速幂||取余运算 普及/提高- P3385 【模板】负环P3865 【模板】ST 表P8306 【模板】字典树P5788 【模板】单调栈P3811 【模板】乘

p3101解题记录-爱代码爱编程

P3101晚自习写题记录 P3101 [USACO14JAN]Ski Course Rating G - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 比较好的一道带权并查集题目 #include<iostream> #include<algorithm> using namespace std; #defin

杂题选做(noip赛前放松)_alaso_shuang的博客-爱代码爱编程

 这是一篇轻松没有难度的水题大作战 //练习递归的好题 [NOIP1998 普及组] 幂次方 - 洛谷 #include<iostream> #include<cstdio> #include<cmath> using namespace std; void find(int n) { int y =

链式前向星_alaso_shuang的博客-爱代码爱编程

//链式前向星(存图) #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int N = 10010; int n,m,x,y,w,cnt; int head[N]; struct node { in

最近公共祖先(lca)_alaso_shuang的博客-爱代码爱编程

//最近公共祖先 //暴力做法 //向上标记法和同步前进法 int LCA(int u,int v) { if(u == v)return u; flag[u] = 1; while(fa[u] != u)//u向上走到根 { u = fa[u]; flag[u] = 1; } if(flag[v])return v; whil

区间信息维护与查询_alaso_shuang的博客-爱代码爱编程

3264 -- Balanced Lineup 大意:确定组中最矮和最高的奶牛之间的身高差异。  思路:对于这种区间多组查询的问题,我们可以使用线段树以及ST表来做 但是ST表不支持在线修改的操作(还好这题没有区间修改) 3368 -- Frequent values 题意:有m次的查询,每次查询给你左右端点,问你区间内的

2022.11.24_alaso_shuang的博客-爱代码爱编程

明天开干模拟题!!!! Quote: 在量子力学问世之前,牛顿力学使得我们相信:已知一个系统当前的位置、速度、动量、受力、能量等信息,总可以推演出下一刻的状态。但量子力学的不确定性原理彻底打破了人们的认知,它告诉我们:宏观上的规律在微观上表现出了偶然性,是一系列偶然性造就了所谓的必然性。 而我们也是一样的。我们因偶然选择了 OI,我们因偶然走到了这一

背包问题温习_alaso_shuang的博客-爱代码爱编程

01背包:选一次,即 用一维优化时,需要倒序,因为选取的是上一行的更新,如果正序操作会覆盖掉最小的体积 完全背包:一个物品可以选多次,即 一维用优化时,正序即可,因为我们物品可以选多次,上一个转移方程可以来自同一行的前面几个值 若用二维,01背包是上一个背包转移过来的所以 i  - 1 完全背包二维的话就是直接 i  //完全背包(与01背包不同,

day1讲题题单_alaso_shuang的博客-爱代码爱编程

请同学们可以完成这个题单 前缀和-差分(区间转前缀) P1115 最大子段和P3406 海底高铁P2671 [NOIP2015 普及组] 求和P1314 [NOIP2011 提高组] 聪明的质监员P1083 [NOIP2012 提高组] 借教室P2367 语文成绩 【差分例题】P2882 [USACO07MAR]Face The Right Way

day2讲课习题题解_alaso_shuang的博客-爱代码爱编程

[NOIP2003 普及组] 麦森数 - 洛谷 P1045 [NOIP2003 普及组] 麦森数 思路:没啥好新意,直接高精度乘法(后500位可以暴力求),但是考虑到时间复杂度的问题,得用快速幂优化 #include <iostream> #include <algorithm> #include <cstri

dp好题分类_alaso_shuang的博客-爱代码爱编程

恶补DP 线性状态 DP P1192 台阶问题P1020 [NOIP1999 普及组] 导弹拦截P1280 尼克的任务P1091 [NOIP2004 提高组] 合唱队形P1944 最长括号匹配P1439【模板】最长公共子序列P4310 绝世好题P6835 [Cnoi2020]线形生物P6647 [CCC 2019] TourismP6902 [ICPC

线段树,树状数组学习笔记_alaso_shuang的博客-爱代码爱编程

具体内容在代码里面都有了 树状数组: #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define lc p<<1 #define rc p<<1|1 #define N 500

hdu_4532——安排座位(计数dp)_alaso_shuang的博客-爱代码爱编程

题目: 为了给腾讯公司找到更多优秀的人才,某神仙最近去某高校组织了一次针对该校所有系的聚会,邀请了每个系的一些优秀学生来参加。作为组织者,湫秋要安排他们的座位。这并不是一件很简单的事情,因为只有一排位置,并且位置总数恰好等于参加聚会的人数。为了促进交流,两个来自相同系的同学不可以座位相邻。湫秋现在希望知道有多少种不同的合理安排座位的方法(任意两个合理的安

浅谈模拟退火_alaso_shuang的博客-爱代码爱编程

模拟退火 简介 模拟退火是一种随机化算法。 对于一个当前最优解附近的非最优解,爬山算法直接舍去了这个解。而很多情况下,我们需要去接受这个非最优解从而跳出这个局部最优解,即为模拟退火算法。 当一个问题的方案数量极大(甚至是无穷的)而且不是一个单峰函数时,常使用模拟退火求解。 实现 如果新状态的解更优则修改答案,否则以一定概率接受新状态。 模拟退

浅谈虚树(虚仙人掌)_alaso_shuang的博客-爱代码爱编程

虚树是什么? 在 OI 比赛中,有这样一类题目:给定一棵树,另有多次询问,每个询问给定一些关键点,需要求这些关键点之间的某些信息。询问数可能很多,但满足所有询问中关键点数量的总和比较小。 由于询问数可以非常多,每次无法遍历整棵树。 我们可以用一种叫做虚树(virtual tree)的魔法来解决这一问题。 一般来说,虚树有以下一些性质: 1、虚树的大小

最长不下降子序列_alaso_shuang的博客-爱代码爱编程

上升子序列:元素各不相同 不下降子序列:元素可以相同 即   将上升子序列改一个if条件里面的即可 //最长不下降子序列 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> using namespace s

最长上升子序列_alaso_shuang的博客-爱代码爱编程

最长上升子序列 两道模板题,体验时间复杂度带来的快感以及方法不同的乐感! AcWing 895. 最长上升子序列 AcWing 896. 最长上升子序列 II 895. 最长上升子序列 - AcWing题库 我们用a[i]表示原序列,f[i]是记录这个数的值是多少!  而后递推一下子就出来了 对于不懂如何递推的话请看下图:  

浅谈记忆化搜索_alaso_shuang的博客-爱代码爱编程

记忆化搜索是什么? 就是咱找过的东西不需要再花时间去找,节约了人力和时间不是吗? (像激素调节一样,高效!!!!) 咱拿个例子来说:数字金字塔 这是经过整理以后的数据        这种是通过递归画出它的搜索树,很直观对吧,那由此我们可以写出(看图可以得知上一次的答案 + 当前需要加上的数(左子树) = 右子树的数)  

双指针算法合集-爱代码爱编程

目录: acwing 771. 字符串中最长的连续出现的字符 acwing 774. 最长单词 acwing 771. 字符串中最长的连续出现的字符 求一个字符串中最长的连续出现的字符,输出该字符及其出现次数,字符串中无空白字符(空格、回车和 tab),如果这样的字符不止一个,则输出第一个。 输入格式 第一行输入整数 NN,表示测试数据的组数。

3、链表-爱代码爱编程

链表 第一部分 1.1 LeetCode 206. 反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 进阶: 你可以迭代或递归地反转链表。你能否用两种方法解决这道题?解法一:迭代反转 struct