因为很多人找我要过博皮源码,所以本宝宝经过深思熟虑,最终决定把自己的源码分享给大家!
不过!
我肯定不会直接给CSS+页首页脚html的,毕竟弄一个一毛一样的博客就真心没意思了。
所以我把自己的代码分了一下类,大家可以根据自己不同的需求copy代码^_^
题意
题目链接
Sol
传说中的吉司机线段树??感觉和BZOJ冒险那题差不多,就是强行剪枝。。。
这题最坑的地方在于对于操作1,$C >= 0$, 操作2中需要对0取max,$a[i] >= 0$,这不就是统计最小值出现的次数么??
按照
lambda 表达式 剖析
大前提:捕获列表里变量的确定时机。
捕获列表和参数列表有区别,捕获列表里的变量,是在捕获的时间点就确定了,而不是在lambda调用时确定,参数列表是在调用时才确定。所以当捕获了一个int i,i=12,然后在lambda后面的代码又改变i为22,但是当调用lambda的
题意
题目链接
Sol
首先答案一定是一棵树
这棵树上有一些0边是必须要选的,我们先把他们找出来,如果数量$geqslant k$显然无解
再考虑继续往里面加0的边,判断能否加到k条即可
具体做法是:
先让1在前做生成树,其中加入
题意
题目链接
一张图,n个点,m条边,每个点有个权值x,x<=1e18。如果一条边的两个端点不一样,那么这条边是安全的,开始时所有边都是安全的。
现在有一个病毒y,病毒可以入侵任意的点,入侵一个点后的权值为(y^x)。
(S,y)表示病毒的权值为y,它
题目:硬币找零
题目介绍:现在有面值1、3、5元三种硬币无限个,问组成n元的硬币的最小数目?
分析:现在假设n=10,画出状态分布图:
硬币编号
硬币面值p
1
1
2
3
3
5
编号i/n总数j
0
1
2
3
4
5
6
7
8
9
10
1
0
1
2
3
4
5
6
7
8
9
10
题意
题目链接
Sol
好的又是神仙题。。。
我的思路:对于区间分两种情况讨论,一种是完全包含,另一种是部分包含。第一种情况非常好判断,至于计算对于一个区间[l, r]的$sum a[i]$就可以了,但是后两种呢?qwq。想了半天也没想出来。看了下题解,果然还
题意
题目链接
$Q$组询问,每次给出$[x, y]$,定义$f(x, y)$为计算$(x, y)$的最大公约数需要的步数,设$i leqslant x, j leqslant y$,求$max(f(i, j))$,以及$max(f(i, j))$不同的数对$(i, j)$的个数
题意
题目链接
给出一个字符串,每次操作可以使得字符串缩短一位,且第$i$位必须要保证与变换前的这一位或下一位相同,
问使得整个字符串全相同最少的操作次数
Sol
300P的题我都要想10min啊,还是太菜了。。
首先我们可以枚举一个字母,
标准库 bind 函数 详解
bind函数:接收一个函数名作为参数,生成一个新的函数。
auto newCallable = bind(callbale, arg_list);
arg_list中的参数可能包含入_1, _2等,这些是新函数newCallable的参数。
在这篇博客lambda
题意
题目链接
Sol
很nice的决策单调性题目
首先把给出的式子移项,我们要求的$P_i = max(a_j + sqrt{|i - j|}) - a_i$。
按套路把绝对值拆掉,$p_i = max(max_{j = 1}^i (a_j = s
题意
题目链接
Sol
分块打表,非常好的思想。
对于这种求$[A, B]$区间内xxx的数的个数,然后$B$又不算是特别大的题,考虑分段打表
每个块的大小为$10^5$,打$3 * 10^3$个。然后块内的暴力查,块外的暴力算
题意
题目链接
有$n$个人,每个人有一种颜色,第$i$个人说除了我之外有$a_i$种不同的颜色,问是否存在一组合法解
Sol
700分的题就这么神仙了么。。好难啊。。。
先说结论吧
设$mx, mn$分别为最大 / 最小值,显然$mx -
题意
题目链接
Sol
我的思路:直接按样例一的方法构造,若$h times w$完全被$N times M$包含显然无解
emm,wa了一发之后发现有反例:1 4 1 3
我的会输出[1 1 -3 1]
好吧,题解的操作确实骚,考虑我们为
题意
题目链接
给出一个树,求出每个节点的子树中出现次数最多的颜色的编号和
Sol
dsu on tree的裸题。
一会儿好好总结总结qwq
#include<bits/stdc++.h>
#define
这个知识点好像咕咕咕了好长了。。趁还没退役赶紧补一下吧。。
讲的非常简略,十分抱歉。。
前置知识
Kruskal算法
一定的数据结构基础(如主席树)
Kruskal重构树
直接bb好像不是很好讲,那就从这道题入手吧。
标准库 插入迭代器 详解
插入迭代器作用:copy等函数不能改变容器的大小,所以有时copy先容器是个空的容器,如果不使用插入迭代器,是无法使用copy等函数的。
例如下面的代码就是错误的:
list<int> lst{1,2,3,4};
list<int> lst2
写在前面:
日期组件有很多,这里简单的记录下bootstrap的一个日期插件datetimepicker,使用方法比较简单,基本上看一些就会了,但是还是记录下。
这个就不过多的说了,简单粗暴上代码
<!DOCTYPE html>
<html>
<head>
[toc]
#什么是堆?
堆是一种数据结构,可以用来实现优先队列
##大根堆
大根堆,顾名思义就是根节点最大。我们先用小根堆的建堆过程学习堆的思想。
##小根堆
下图为小根堆建堆过程
##堆的操作
上浮
下沉
插入
弹出
取顶
堆排序
STL heap
所在库 #include
#include&
一、判断文件及文件夹是否存在
// 判断文件是否存在
BOOL IsFileExist(const CString& csFile)
{
DWORD dwAttrib = GetFileAttributes(csFile);
return INVALID_FILE_ATTR