- 博客(51)
- 收藏
- 关注
原创 简单总结 右值引用 & 转移语义 & 完美转发
右值引用(Rvalue Reference)是C++11的新特性,它实现了 转移语义(move) 和 完美转发(perfect forwarding),主要目的分别是:减少两个对象交互时不必要的拷贝构造,提升效率简洁明确定义泛型函数C++中的变量要么是左值、要么是右值。通俗的左值定义指的是⾮临时变量,⽽右值指的是临时对 象。左值引⽤的符号是⼀个&,右值引⽤是两个&&绑定到右值的引用,用&&来指定。右值引用只能绑定到要销毁的对象。int var = 4
2021-12-25 04:05:29 427
原创 【模板】倍增求LCA
int p[maxn][20]int LCA(int x, int y) { if (dep[x] > dep[y]) swap(x, y); for (int i = 20; i >= 0; i--) { if (dep[y] - (1 << i) >= dep[x]) y = p[y][i]; } if (x == y) return x; for (int i = 20; i >= 0; i--) { if (p[x][i] == p[y
2020-11-17 19:53:37 148
原创 【模板】树上差分
统计树上结点被访问次数:走过u、v结点间的路径,则 sum[u]++,sum[v]++,sum[LCA(u,v)]--,sum[fa[LCA(u,v)]]--int a[maxn], p[maxn][22];int fa[maxn];int dep[maxn];int dif[maxn]; // 差分int sum[maxn];int n, m, k;struct edge{ int v, next;}e[maxn<<1];int head[maxn], to
2020-11-17 19:48:26 195
原创 【模板】树的重心
树的重心树的重心也叫树的质心。对于一棵树n个节点的无根树,找到一个点,使得把树变成以该点为根的有根树时,最大子树的结点数最小。换句话说,删除这个点后最大连通块(一定是树)的结点数最小。性质:树中所有点到某个点的距离和中,到重心的距离和是最小的,如果有两个重心,他们的距离和一样。把两棵树通过一条边相连,新的树的重心在原来两棵树重心的连线上。一棵树添加或者删除一个节点,树的重心最多只移动一条边的位置。一棵树最多有两个重心,且相邻。对于无权树,以重心为根,所有子树的大小都不超过整棵树大小的一半,即
2020-11-03 16:14:29 658
原创 微信小程序 从零开发房屋租赁平台
文章目录登录数据库课程设计,不知道怎么的就头铁选了小程序来做前端页面(前端0经验选手),于是踩了很多坑……不过多看看别人的代码画葫芦也就能学会了,果然在实践中面向需求学习的效果还是很好的,至少现在的我已经能徒手造想要的样式的轮子了(误写这篇博客记录一下过程中的一些想法和技巧。登录...
2020-05-14 18:32:13 9068 16
原创 【模板】点分治
参考链接参考链接(这个讲的最清楚)// poj1741struct edge{ int v, w, next;}e[maxn*2];int head[maxn], cnt;void add(int u, int v, int w){ e[cnt].v = v; e[cnt].w = w; e[cnt].next = head[u]; hea...
2020-03-26 20:48:37 91
原创 CodeForces - 1312E Array Shrinking【区间DP】
题意给定数组a1,a2,...,ana_1, a_2, ...,a_na1,a2,...,an,你可以对该数组进行如下操作任意次数:选择一对相邻且相等的数,ai=ai+1a_i = a_{i+1}ai=ai+1用ai+1a_i+1ai+1代替这一对数现在求数组经过几次操作后,可能的最短的长度。1≤n≤500,1≤ai≤10001\le n \le500, 1\le a_i...
2020-03-13 15:56:55 129
原创 HDU-3966 Aragorn's Story【树链剖分+线段树/树状数组】\【动态树LCT】
题意在一个NNN个结点的树上,每个节点上都有权值。有PPP次询问。3种询问:I c1 c2 kI\ c1\ c2\ kI c1 c2 k 表示 从c1节点到c2节点的路径上所有点权值增加kD c1 c2 kD\ c1\ c2\ kD c1 c2 k 表示 从c1节点...
2020-03-13 15:35:20 146
原创 HDU-4044 GeoDefense【树状dp+01背包】
题意一个塔防游戏里,地图是n个结点组成的树(1-n),其中1节点是敌人的出生点,所有叶子节点是我方基地。在每个节点上都有不同的防御塔可以建造,但每个节点最多只能造一座。防御塔有 价格 和 伤害 两种属性。敌人经过一个结点时会受到该节点的防御塔的伤害数值的攻击。给定资产mmm,求在保证没有敌人能越过叶子节点的条件下,所能抵御的敌人的最大生命值,即使 从1节点到所有叶子节点路径上的最小的攻击总和...
2020-03-12 20:44:33 138
原创 【模板】树状数组
参考链接int n, c[maxn];int lowbit(int x){ return x&(-x); }void add(int i, int v){ while(i <= n){ //这里n为数组最大的有效下标 c[i] += v; i += lowbit(i); }}int sum(int i){ in...
2020-03-11 13:47:15 134
原创 HDU-2243 考研路茫茫——单词情结(AC自动机 + 矩阵快速幂)
题目描述背单词,始终是复习英语的重要环节。在荒废了3年大学生涯后,Lele也终于要开始背单词了。一天,Lele在某本单词书上看到了一个根据词根来背单词的方法。比如"ab",放在单词前一般表示"相反,变坏,离去"等。于是Lele想,如果背了N个词根,那这些词根到底会不会在单词里出现呢。更确切的描述是:长度不超过L,只由小写字母组成的,至少包含一个词根的单词,一共可能有多少个呢?这里就不考虑单词...
2020-03-01 01:18:35 164
原创 【模板】ST表
int a[maxn], at[maxn];int d[maxn][20];int T, n, m;void Init(){ for(int i=1;i <= n;i++) d[i][0] = a[i]; int k = log((double)n)/log(2.0); for(int j=1; j <= k; j++) { ...
2020-02-17 16:36:54 102
原创 POJ-3746 Teacher YYF(模拟)
题目链接题意简单讲就是要根据给定单词和词性以及语法规则写一个程序判断各种句子语法的合法性思路看了别人的思路,最好的方法是根据英语语法将结构分为主谓宾介,之后再细分其中的词性组合,据此判断合法性。代码#include<iostream>#include<cstdio>#include<cstring>#include<algorithm&g...
2020-02-17 16:18:10 306 1
原创 【模板】AC自动机
#include<iostream>#include<cstdio>#include<cstring>#include<queue>#include<algorithm>#define maxn 10000005using namespace std;int ans[maxn];struct Trie{ int...
2020-02-17 16:13:38 87
原创 KMP+循环节问题
HDU-3746现在给你一个字符串,请问在该字符串末尾最少添加多少个字符,可以让这个字符串获得重复循环序列。输入:第一行是一个整数 T(0<T<=100)T ( 0<T<=100 )T(0<T<=100) 代表测试数据的组数。之后TTT行每行一个字符串,由小写字母组成,字符串的长度 3<=L<=1000003<=L<=1000003&...
2020-02-17 16:13:16 334 1
原创 HDU-6278 Just h-index (主席树+二分)
题目描述The h-index of an author is the largest hhh where he has at least hhh papers with citations not less than hhh.Bobo has published n papers with citations a1,a2,…,ana_1,a_2,…,a_na1,a2,…,an resp...
2020-02-17 12:21:28 107
原创 ZOJ-1060 Sort It All Out(拓扑排序 判断全序成环)
An ascending sorted sequence of distinct values is one in which some form of a less-than operator is used to order the elements from smallest to largest. For example, the sorted sequence A, B, C, D im...
2020-02-10 01:35:07 237
原创 【模板】KMP字符串匹配
int m,n;char s[maxn], t[maxm];int Next[maxm];void getnext(){ Next[0] = -1; int i = 0, j = -1; while(i<m) { while(j!=-1 && t[i]!=t[j]) j = Next[j]; if(t[...
2020-02-01 22:06:52 244
原创 CodeForces 840D Destiny【主席树】
题目大意:有一个长度为nnn的序列,有mmm次询问,每次询问区间[L,R][L,R][L,R]中出现次数 严格大于 区间长度除以kkk(即 R−L+1K\frac{R-L+1}{K}KR−L+1)的元素中,最小的那个数是多少。若不存在这样的元素输出-1。N,M≤3∗105N,M≤3∗10^5N,M≤3∗105,K≤5K≤5K≤5题解用一个数组存数字(离散化一次)的出现次数,在其上建主席树...
2020-02-01 21:49:00 160
原创 【模板】A*算法(K短路问题)
介绍模板题:POJ-2449#include<iostream>#include<cstdio>#include<cstring>#include<queue>#include<algorithm>#define maxm 2000000#define maxn 10000using namespace std;st...
2020-01-23 00:24:13 123
原创 POJ-1170 Shopping offers 【状压DP】
题目描述In a shop each kind of product has a price. For example, the price of a flower is 2 ICU (Informatics Currency Units) and the price of a vase is 5 ICU. In order to attract more customers, the shop...
2020-01-21 15:58:38 177
原创 逻辑回归
在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误),其往往是一个离散的值。比如:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈。逻辑回归算法,是用于分类问题的最广泛的学习算法。...
2019-10-30 16:56:28 115
原创 线性回归的正规方程法
正规方程正规方程是通过求解下面的方程来找出使得代价函数最小的参数的: ∂∂θjJ(θi)=0\frac{\partial}{\partial \theta_j} J(\theta_i) = 0∂θj∂J(θi)=0假设我们的训练集特征矩阵为 XXX(包含了
2019-10-30 16:55:47 1883
原创 简单线性回归和梯度下降
一元线性回归回归(Regression)一词简单来说,指的是:我们根据之前的数据预测出一个准确的输出值线性回归(Liner Regression):寻找一条直线,最大程度地拟合样本特征和样本输出标记之间的关系。样本特征只有一个,就被称为简单线性回归。假设预测的线性函数的表达式为:hθ(x)=θ0+θ1xh_\theta(x) = \theta_0 + \theta_1xhθ(x)=θ0...
2019-10-30 16:55:35 185
原创 POJ - 3279 Fliptile(DFS,经典翻转问题,二进制枚举)
题目描述给你一个01矩阵,矩阵大小为M x N。(1 <= M , N <= 15)每次操作选择一个格子,使得该格子与上下左右四个格子的值翻转。至少多少次操作可以使得矩阵中所有的值变为0?请输出翻转方案,若没有方案,输出"IMPOSSIBLE” 。输入格式第一行输入两个数:M和N。(1 <= M , N <= 15)接下来M行,每行N个数,其值只为0或1。输...
2019-10-13 21:29:38 303
原创 POJ3186 Treats for the Cows (区间DP)
DescriptionFJ has purchased N (1 <= N <= 2000) yummy treats for the cows who get money for giving vast amounts of milk. FJ sells one treat per day and wants to maximize the money he receives ov...
2019-10-12 20:39:18 120
原创 链式前向星【存图模板】
存图方式主要有:邻接矩阵(m[i][j]m[i][j]m[i][j]为w(w!=0),表示i点到j点有一条w权值的路)、邻接表(m[u][i]m[u][i]m[u][i]记录的值为v、w,表示u到v点有一个w权值的路)用邻接矩阵非常浪费空间,有一种效率高且省空间的存图方法叫链式前向星。前向星前向星就是一种邻接表。它是一个边集数组,先将起点按从小到大顺序排列,如果相同则按终点从小到大排序,并记...
2019-09-20 22:34:09 277
转载 The Preliminary Contest for ICPC Asia Shenyang 2019 C. Dawn-K's water(动态规划:完全背包)
传送门:https://nanti.jisuanke.com/t/41401题目描述Dawn-K recently discovered a very magical phenomenon in the supermarket of Northeastern University: The large package is not necessarily more expensive than...
2019-09-20 18:17:39 486
转载 The Preliminary Contest for ICPC Asia Shanghai 2019 B. Light bulbs(卡了线段树空间的思维题)
传送门:https://nanti.jisuanke.com/t/41399题目描述There are $N¥ light bulbs indexed from 000 to N−1N−1N−1. Initially, all of them are off.A FLIPFLIPFLIP operation switches the state of a contiguous subset ...
2019-09-20 17:42:28 94
转载 The 2019 Aisa Nanchang First Round Online Programming Contest B. Fire-Fighting Hero (最短路+超级源点)
传送门:https://nanti.jisuanke.com/t/41349DescriptionThis is an era of team success, but also an era of heroes. Throughout the ages, there have been numerous examples of using the few to defeat the many...
2019-09-19 22:37:40 165
转载 The Preliminary Contest for ICPC Asia Nanjing 2019 A. The beautiful values of the palace (扫描线)
网络赛真是能把我这种蒟蒻做到自闭。。写了几道属于我这种水平的难题均转载自一起打比赛的聚聚同学:SDUWH_2U传送门:https://nanti.jisuanke.com/t/41298DescriptionHere is a square matrix of n∗nn * nn∗n, each lattice has its value (nn must be odd), and th...
2019-09-17 22:03:01 98
原创 HDU-1069 Monkey and Banana(典型DP)
题目描述一组研究人员正在设计一项实验,以测试猴子的智商。他们将挂香蕉在建筑物的屋顶,同时,提供一些砖块给这些猴子。如果猴子足够聪明,它应当能够通过合理的放置一些砖块建立一个塔,并爬上去吃他们最喜欢的香蕉。研究人员有n种类型的砖块,每种类型的砖块都有无限个。第i块砖块的长宽高分别用xi,yi,zi来表示。 同时,由于砖块是可以旋转的,每个砖块的3条边可以组成6种不同的长宽高。在构建塔时,当且仅...
2019-08-17 15:55:48 224
原创 最长递增子序列(LIS)的三种算法
最长递增子序列:给定一个长度为N的数组,找出一个最长的单调递增子序列,子序列不一定连续,但初始顺序不能乱。比如数组A={1,3,4,2,5},其最长递增子序列为1,3,4,5方法一:最长公共子序列法对于给定长度为N的数组A:使数组B为排序后的数组A (O(NlogN))求出A与B的最长公共子序列(LCS) (O(N2))对求得的公共子序列进行去重 (O(N)...
2019-08-16 21:48:31 3708 2
原创 HDU-1024 Max Sum Plus Plus(动态规划+滚动数组)
题目描述Now I think you have got an AC in Ignatius.L’s “Max Sum” problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are faced with a more difficult problem.G...
2019-08-15 22:31:56 209 1
原创 PTA-最大连续子数列和(4种方法)
题目描述给定K个整数组成的序列{ N1 ,N2 , …, Nk },“连续子列”被定义为{ Ni , Ni+1, …, Nj},其中 1≤i≤j≤K。“最大子列和”则被定义为所有连续子列元素的和中最大者。现要求你编写程序,计算给定整数序列的最大子列和。输入格式输入第1行给出正整数n (≤100000);第2行给出n个整数,其间以空格分隔。输出格式在一行中输出最大子列和...
2019-07-29 17:42:27 676
原创 Python学记笔记(十):迭代器与生成器
文章目录迭代器和生成器迭代迭代器为自定义类创建迭代器生成器列表生成器生成器函数可迭代对象迭代器和生成器迭代是Python最强大的功能之一,是访问集合元素的一种方式。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。迭代器是一个可以记住遍历的位置的对象。迭代其实for .. in ..循环遍历的过程就是迭代(iteration)。其他语言诸...
2019-07-25 19:43:17 126
翻译 计算机中,对用户透明 = 对用户隐蔽
在计算机中,从某个角度看不到的特性称该特性是透明的。这个意义上的“透明”与社会生活中的透明含义恰好相反。例如计算机组织对程序员是透明的。就是说计算机组织对程序员来说是看不到的,也不需要看到的。和汉语字典里面的意思不一样。...
2019-07-23 20:31:53 1080
原创 POJ-2236 Wireless Network (简单并查集)
也是几个月前做的题目,填坑POJ-2236 Wireless NetworkDescription南亚发生了一次地震。ACM (Asia Cooperated Medical 亚洲联合医疗队) 已经为膝上型电脑搭建了一个无线网络,但受到了一次不可预知的余震攻击,因此网络中的所有电脑都被破坏了。电脑被逐台修复,网络逐步恢复了工作。由于受到硬件的约束,每台电脑只能与距离它不超过 d 米的其它电脑...
2019-07-22 11:42:15 106
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人