![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
history
文章平均质量分 53
heaven5heep
programeer
展开
-
日常学习
刚才做着题,发现出现了莫名的bug,调了半天才发现问题,写程序的时候一定要记得不要在循环嵌套里改变循环的变量,不然总会出现蜜汁bug原创 2017-11-08 08:18:58 · 145 阅读 · 0 评论 -
最小生成树——kruskal
codevs上的一道模板题,最小生成树的意思大概就是,给好多条边和权值,让用最小的代价(权值和)使这个图连通如果这个图一共有n个点,那么做法就是对于每一个边的权值给边排序,从小到大,然后从小里选,如果选出的边的两个点已经在一个集合里了就跳过,如果不在一个集合里,就并上这两点,同时ans加上这条边的权值,由于排过序,所以每次并边的代价一定是最小的,并且记录并边的次数,如果次数==n-1,原创 2017-11-08 14:44:15 · 198 阅读 · 0 评论 -
线段树单标记下穿【模板】
#include<iostream> //原谅我又用了好多英文..#define mid (l+r)/2using namespace std;const int maxn=1000000;long long sum[maxn],flag[maxn],size[maxn]; //sum为求和 flag为懒标记 size为区间长度int n,m,x,y,z,...原创 2018-03-19 12:33:38 · 159 阅读 · 0 评论 -
洛谷月赛——随机算法
洛谷的月赛第二题:偷上网题目描述Alice 和 Bob 生活在一个l \times ll×l的正方形房子里,由于 Bob 最近沉迷隔膜,Alice 决定要限制 Bob 上网的频率。Alice 建造了nn个无线信号屏蔽器,第ii个位于(x_i, y_i)(xi,yi),屏蔽范围为\frac{l}{n}nl。Bob 网瘾发作按捺不住上网的冲动,找到了你,帮他找到一个位置(x...原创 2018-05-20 13:26:37 · 398 阅读 · 0 评论 -
垃圾陷阱题解
#include<iostream>#include<cstring>#include<algorithm> //两种转移方程using namespace std; //如果先处理放struct trash //dp[i][j+t[i].h]=dp[i-1][j];{ ...原创 2018-05-05 12:24:42 · 155 阅读 · 0 评论 -
stl优先队列的简单应用
#include<iostream>#include<algorithm>#include<queue>using namespace std;struct cmp1{ bool operator ()(int &a,int &b) { return a<b; }};struct cmp2{ bool operator ()(int &a...原创 2018-04-07 13:27:20 · 142 阅读 · 0 评论 -
图上再拓展——负环
之前有写过有关于spfa判断负环的原理,但是奈何用入度出度的比较牵强,而且怎么想也想不明白,今天看到了白皮书上的bellman—ford,再加上看到了知乎上各位大神的解释,也算通畅了许多毕竟Dijkstra还是主流算法,而队列优化的bellman是不稳定的,但是dijkstra有一个致命的缺陷就是不能处理负环——对点的增广中不能确定当前点是否是已经确定的最小距离的点,所以对于noip选手来说spf...原创 2020-12-13 19:32:56 · 58 阅读 · 0 评论 -
记忆化搜索——加分二叉树
主要是利用了树的中序遍历的性质,注释中有。。很常见的记忆化搜索,在之中记录了区间的根节点,最后递归遍历输出代码:#include<iostream>using namespace std;int n;int score[40],dp[40][40],rec[40][40];int dfs(int l,int r){ if(dp[l][r])return dp[l][r]; /...原创 2018-05-30 12:40:52 · 194 阅读 · 0 评论 -
usaco section 2.1 健康的荷斯坦奶牛 dfs剪枝——迭代加深
其实就是简单的dfs加一个最优性剪枝,如果当前已选的大于最优解,就剪枝,思路很简单还有一种做法就是迭代加深,每次固定要搜的深度,第一次找到解一定是最优解,因为从小到大枚举递归深度,选择饲料也是从小到大,满足字典序。还有一点要注意,dfs枚举时不能图简单像dfs(x+1,pos+1);dfs(x,pos+1);这样写,因为尽管思路明确,但是最终叠的栈帧过多会导致爆栈,所以以后应尽量避免这样的写法df...原创 2018-06-02 13:06:32 · 331 阅读 · 0 评论 -
拓扑排序
首先就是例题,神经网络。这道题有很多的做法,其实就是图的遍历,我最开始使用的bfs进行的遍历然后第二遍做用的拓扑排序,排序后就可以满足在每个层开始时前面的层一定都已经遍历完了。这也就是拓扑排序的作用;拓扑排序有两种写法,一种是记录出入度,用队列进行模拟,每次遍历完一条边之后将这条边的终点的入度减1,当有点的入度为0时,说明这个点之前的点都被遍历完了,那么将这个点加入队列继续遍历就好,如果入度出现了...原创 2018-07-12 22:32:59 · 128 阅读 · 0 评论 -
对lucas定理的理解
简单的对lucas定理的理解,是从amberframe老师那里学习的时候听来的。lucas定理:c(x,y)=c(x%p,y%p)*c(x/p,y/p) (mod p)那么我们考虑现在是从x个格子中选y个小球放进去,在mod p意义下,我们令x=pa+q,y=pn+m我们将这x个格子划分成a列和一个大小为q的小的矩形,首先考虑往这a列格子中放小球,对于任意一列来说,如果这一列非...原创 2018-08-09 00:25:22 · 212 阅读 · 0 评论 -
无向图有向图最小环
floyd求。for(int k=1;k<=n;k++){for(int i=1;i<k;i++)for(int j=1;j<k;j++)ans=min(ans,dis[i][k]+dis[k][j]+map1[j][i])for(int i=1;i<=n;i++)for(int j=1;j<=n;j++)dis[i][j]=...原创 2018-10-28 19:19:50 · 626 阅读 · 1 评论 -
c++有关初始化列表和构造函数的问题
很多博客都有说过,const只能使用初始化列表。这里给出一个示例,因为const变量只能在定义的时候进行初始化,并且不能修改。而初始化列表就是这样实现的。但对于下面的构造函数来说,他先创建了cpu ram这几个成员变量,再进行的赋值,这时候并没有调用cpu ram这些成员的复制构造函数,而是直接调用的他们自身的构造函数。区别就在这里,初始化列表,直接初始化成员。...原创 2020-03-17 20:17:21 · 146 阅读 · 0 评论 -
android wrap_content不能设置居中问题
纯属个人理解,不知道对不对设置居中用的是gravity,这个应该是设置文本的位置,就是控件上面的东西的位置,而不是控件的位置,所以使用了wrap_content以后控件的大小就是文本的大小,自然设置文本的位置就没用了,而如果使用match_parent扩大控件的大小,让控件与文本出现占用空间的差别,就可以设置文本的位置了。...原创 2020-04-15 14:51:03 · 314 阅读 · 0 评论 -
lua入门(1)
适合有一定编程基础的人观看最好学过c/c++lua是脚本语言解释型语言 即 写一句就执行一句,不像c语言是编译型语言 即 全写完一起编译再执行配置环境https://github.com/rjpcomputing/luaforwindows/releases去上面下载一个就行怎么测试?打开cmd 输入lua进入交互模式第一个程序print('hello world')结果就输出了,很容易对吧print后面加什么就输出什么变量命名:想咋命名就咋命名 ×原创 2020-05-31 23:41:37 · 115 阅读 · 0 评论