- 博客(73)
- 资源 (3)
- 收藏
- 关注
原创 Linux 基础学习笔记 For lulichuan
标题Linux 基础命令整理笔记文件管理命令:打开目录cd /directory1//directory2 //如果在根目录可以不加开头的斜杠cd /etc/sysconfig //此命令可以进入etc目录中的sysconfig目录创建文件、创建目录touch filename //创建filename文件touch -d "20190521 13:00:00" filename ...
2019-05-22 17:17:20 293
原创 HDU5988
#include<queue>#include<cstdio>#include<iostream>using namespace std;#define LL long longstruct LLC{ int v; int flag; bool operator < (const LLC & a) const{ ...
2018-08-27 17:18:11 307
原创 一些字符串的常用函数
char st[100]; 1. 字符串长度 strlen(st); 2. 字符串比较 strcmp(st1,st2); //1大于 0等于 -1小于 strncmp(st1,st2,n); 把st1,st2的前n个进行比较。 3. 附加 strcat(st1,st2); strncat(st1,st2,n); n表...
2018-05-03 21:27:58 241
原创 SDUT 3903
一个零一背包关键是如何去排序我们的目的是经可能多的得分,所以要用贪心策略去排序贪心的方向是,让掉分速度最快的题尽早做,原因是他分数掉的最快,做的越晚收益越低所以这里的贪心就类似高中的加速度 △v/△t按照排序找出来思考过程中代价最大的题目,先做它就可以了#include<cstdio>#include<cstring>#include<iostream>#...
2018-05-03 16:41:05 192
原创 HDU1811
拓扑排序和并查集的结合拓扑排序来进行排序如果同时出现了两个以上的节点入度为0,代表这几个节点的顺序是不确定的也就是信息不完善如果最后出现了有些节点的入度不是零,说明存在了环,也就是出现了冲突并查集把相等的节点归并到一个集合,可以把多个节点当成一个节点来处理#include<queue>#include<cstdio>#include<vector>#inc...
2018-05-02 19:15:40 630 1
原创 HYSBZ - 4195 并查集
第一次做的时候一看数据范围是1e9,就不打算用并查集做第一次想到的是用bitset来做,但是超时了,很难受后来看了其他博主的文章才获得启发,这里使用了Hash,对于每一个数重新定义自己的顺序利用一个map可以很容易的进行Hash#include<map>#include<bitset>#include<cstdio>#include<iostream...
2018-05-02 13:55:25 285
原创 CodeForces - 934C
解题思路让我想起了 HDU6058#include<iostream>#include<cstdio>#include<cstring>using namespace std;const int maxn = 2000 + 10;int one[maxn], two[maxn];int a[maxn];int main(){ int n;...
2018-04-30 20:39:12 202
原创 CodeForces - 95C 最短路
原来做的时候,做到最后忘了找不到要输出-1还是很粗心#include<queue>#include<cstdio>#include<vector>#include<cstring>#include<iostream>using namespace std;#define LL long longconst int maxn ...
2018-04-30 17:35:11 290
原创 poj2492
#include<cstdio>#include<iostream>using namespace std;const int maxn = 10000 + 10;int p[maxn];///p 代表祖先int sex[maxn];/// sex 代表性别int tofind(int x){ if(p[x] == x) return x; ...
2018-04-28 21:41:46 211
原创 CodeForces - 699D
利用并查集判断环和树第一次两个节点判断是,如果不在一个树上就合并,如果出现两个点在一个树上就说明出现了环#include<iostream>#include<cstdio>using namespace std;const int maxn = 200000 + 10;int a[maxn], p[maxn];int tofind(int x){ if(x...
2018-04-27 16:10:05 212
转载 玲珑学院1087
博弈题解类似题目的题解本题的题解#include<bits/stdc++.h>using namespace std;const int maxn=1<<21;int n,a[maxn];int main(){ int T;cin>>T; while (T--) { scanf("%d",&n); int k=0,sg=0,ans...
2018-04-23 21:22:04 194
原创 POJ 2524
并查集#include<cstdio>#include<iostream>#include<cstring>using namespace std;const int maxn = 50000 + 10;int p[maxn];bool vis[maxn];int tofind(int x){ if(x == p[x]) return p[...
2018-04-22 21:44:12 204
原创 UVALive - 5059
一眼看过去就是SG但是再看一眼数据范围,WC,打表的话数组开不到哇想啊想,想啊想,晚上刷题好痛苦呀,想不出来呀,一看题解,打表找规律,WC,这也可以,可是我懒啊,不懒的话也可以打表找一下打表找规律的话直接找板子稍微改一下就可以了,稍微改还不会,那就再好好看看SG吧总之规律是偶数 SG(n) = n >> 1奇数 SG(n) = SG(n>>1)然后当你知道了规律之后,你就开...
2018-04-22 21:20:46 238
原创 poj 1611
并查集入门一个社团的合并一次,最后统计和0是在相同集合的人#include<iostream>#include<cstdio>#include<algorithm>using namespace std;const int maxn = 30000 + 10;int p[maxn];int a[maxn];int tofind(int x){ ...
2018-04-22 20:27:07 175
原创 CodeForces - 605A
每次可以把一辆车放在开头或者结尾问最少多少次操作让这个数列变成递增数列既然要保持最少操作,那就需要让最长的上升序列的数保持不变,让其他数进行改变#include <iostream>#include <cstdio>using namespace std;const int maxn = 100000 + 10;int a[maxn], b[maxn];int m...
2018-04-17 21:37:48 248
原创 HDU 4925 找规律
找规律#include <iostream>#include <cstdio>#include <algorithm>#define LL long longusing namespace std;int main(){ LL T, N, M; scanf("%lld", &T); while(T--){ ...
2018-04-17 20:42:26 522
原创 HDU 1087
DP#include<stdio.h>#include<algorithm>#include<string.h>using namespace std;int a[1005];int dp[1005];int main(){ int n; int i, j; while (scanf("%d", &n) != EOF &&...
2018-04-14 16:57:31 156
原创 POJ 2253
floy 变形记最短路的又一种玩法#include <cstdio>#include <cstring>#include <string>#include <iostream>#include <stack>#include <queue>#include <vector>#include &
2018-04-14 16:55:03 119
原创 SGU 499
思路主要是枚举因子归为优美的暴力横向不通的时候,我们可以采用纵向枚举#include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using namespace std;const int maxn = 1000000 + 10;int ans[maxn...
2018-04-14 16:52:38 192
原创 HDU 6231 二分
看了第一眼,脑子里只有暴力第二眼还是暴力,果断暴力T一发然后开始想优化成nlogn,采用枚举A[]数组里面的数,当然是二分枚举两个坑点(xxxxx)XXXX(xxxxx)上面三个区间我们命名区间一,区间二,区间三假设区间三正好满足比枚举的数大且个数刚刚好的一个区间1. 计算区间的时候无脑区间一*区间三,果断WA,因为区间枚举出现了重复给一个12个数的数组 1 1 1 1 3 1 3 3 1 4 1...
2018-04-14 16:46:23 228
原创 HDU4734 F(x)
数位DP讲一下具体思路,自己是看了kuangbin的板子来做的DP的关键在于如何去寻找转移方程,本道题用到了一种相减的思路A,B分别代表题目描述的变量DP[pos][sum] pos 不用多说就是数位, sum这里不是指一个数的和,这里的sum指的是距离凑满F(A)还需要多少数这样子转移方程就可以记忆化了,为什么呢?当第一步的时候指的是DP[pos][F(A)],但是继续往下dfs,因为每一步都要...
2018-03-25 16:00:04 296
原创 poj 2960
点击打开链接上面链接是一个博主讲解的SG函数,还不错这里引用一下这道题是SG的裸题,没什么可说的用来做模板的#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;const int maxn = 10000 +10;...
2018-03-25 15:59:51 171
原创 LightOJ 1289
解题思路 用到了数论L(x) 求的是 LCM(1,2,3.....x)LCM 求最小公倍数L(1) = 1L(x+1) = { L(x) * p if x+1 is a perfect power of prime p { L(x) otherwise上面的知识点,在纸上推演一下就可以得出结论,根据求最小公倍数的公式,分子分母在每次遇到非素数的时候能...
2018-03-18 16:32:07 334
原创 关于数论的一些知识点,慢慢积攒
数论的东西太多了,决定把一些遇到的定理在这里整理一下L(x) 求的是 LCM(1,2,3.....x)LCM 求最小公倍数L(1) = 1L(x+1) = { L(x) * p if x+1 is a perfect power of prime p { L(x) otherwisePI的定义方式const double PI = acos(-1)...
2018-03-15 16:22:14 313 1
原创 HDU1251
字典树 模板题使用数组写法#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn = 1000000 + 10;int trie[maxn][27];int pre_sum[maxn];///统计前缀次数//int vis_word[...
2018-02-26 14:58:22 221
原创 poj 2115
模线性方程需要注意的是mod 是间距也就是 ax+by =c , 其中的 b/gcd(a,b)模板题不需要多说#include<iostream>#include<cstdio>using namespace std;#define LL long longinline LL exgcd(LL a, LL b, LL &x, LL &y){///...
2018-02-20 18:01:04 213
原创 poj1061 模线性方程
模板题首先 x + k*m ≡ y + k* n (mod L) 转化成 k(m - n) ≡ y - x(mod L)套模板得到最小的解,但是要求是正的最小解,进行取模L#include<iostream>#include<cstdio>using namespace std;#define LL long longinline LL exgcd(LL a, ...
2018-02-20 15:45:19 390 1
原创 HDU1863 最小生成树 Prime
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1863题解:裸的最小生成树#include#include#include#include#includeusing namespace std;const int maxn = 2000 + 10;int cnt = 0;struct edge{ int v;
2018-01-24 16:46:05 246
原创 HDU 3336 KMP
Count the stringTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 11954 Accepted Submission(s): 5545Problem DescriptionIt is we
2018-01-14 15:14:58 155
原创 2016北京区域赛E UVAlive 7672 题目:What a Ridiculous Election 带约束条件的BFS
这几天做的北京的模拟,当时被这个题给卡住了,自己写的BFS,一直WA,结束后对拍才找到自己的致命错误 自己做的时候直接通过最优情况去推导最有情况,导致自己掉进死胡同了 这里举一个例子,比如变成01034 依次是,12345,12354,12534,12034,21034,31034,41034,51034,01034 可以见到这里的51034用了7步,而实际上51034
2017-10-23 18:35:08 689
原创 HDU 1423 求求求求求求最长上升公共子序列
题目解析 最长公共子序列 + 最长上升子序列 在最长公共子序列的基础上进行一下变形,每一次添加长度的时候进行判断是否大于前面的数,即可 HDU6078 是这个问题的进阶版,属于数论DP代码#include #include #include #include using namespace std;const int maxn = 600
2017-10-21 19:32:52 190
原创 HDU 5988 最小费用最大流
题目Coding ContestTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 3503 Accepted Submission(s): 825Problem DescriptionA co
2017-10-18 21:39:17 353
原创 滑雪
题目滑雪的场地都是从高地势到低地势,现在陆历川在一块滑雪场,现在他想知道他在哪一个地方开始滑雪可以滑的距离最长,注意,必须从高的地势向低的地势走输入 第一行两个数n,m代表矩阵的大小 接下来n行,每行m个数,数组中每个数字代表点的高度输出 最长的滑行距离样例输入5 51 2 3 4 516 17 18 19 615 24 25 2
2017-10-11 20:57:22 283
原创 利用kmp里的next数组的一道题
题目E.T. Inc. employs Maryanna as alien signal researcher. To identify possible alien signals and background noise, she develops a method to evaluate the signals she has already received. The
2017-10-09 19:24:25 479
原创 陆历川的宝藏
题目 陆历川来到了一个神秘的城堡(n*m的矩阵),这个矩阵中有很多的钞票,他们分别位于不同的坐标上,现在陆历川位于(1,1),但是他只能向右或者向下走,最终走到(n,m)终点,但是陆历川无法一下把所有的钞票都拿走,现在他想知道他最少需要几次能把所有的钞票都拿走输入 N,M,P N,M代表矩阵的大小, P代表有几个坐标点又钞票 接下来P行, 每行分别是钞票的坐标X,Y
2017-09-29 21:29:21 468
原创 拦截导弹
题目 魔法世界为了防御修罗王军团的导弹袭击,开发出一种导弹拦截系统---“要你命3000”。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够达到任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天。雷达朴拙到修罗王军团的导弹来袭。有意该系统还在试用阶段,所以只有一套系统,一次有可能不能拦截所有的导弹。 第一行输入一个n,n代表有多少发炮弹,第二行依次输入n个炮弹飞来的高度,
2017-09-26 20:01:39 324
原创 最长不下降子序列 (3种做法)
最长不下降子序列,顾名思义就是总一组数据中找到一组最长数,这一组数据保证是b[0]最简单的是朴素算法,还有dp的nlogn , stack nlogn 算法宝典416页具体思路不说了,忘了记得多看看书。///stack优化 nlogn#include #include #include using namespace std ;const int maxn = 1
2017-09-25 19:54:33 1699
原创 HDU 6205 card card card
card card cardTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 1317 Accepted Submission(s): 598Problem DescriptionAs a fan of
2017-09-12 20:06:31 208
原创 HDU 6183 线段树新玩法 + 离散化
题目Color itTime Limit: 20000/10000 MS (Java/Others) Memory Limit: 132768/132768 K (Java/Others)Total Submission(s): 872 Accepted Submission(s): 265Problem DescriptionDo you
2017-09-07 21:54:18 401
apche shiro漏洞检测和利用工具
2020-07-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人