自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(29)
  • 收藏
  • 关注

原创 2021-08-28

一些有趣的链接https://defendtheweb.nethttps://www.freebuf.comhttps://www.hackthissite.orghttps://www.gameofhacks.com

2021-08-28 17:35:34 97

原创 红警开源代码 链接

github.com/electronicarts/CnC_Remastered_Collection

2021-07-30 18:38:01 498

原创 QAQ

nothing is true everything is permitted

2021-04-20 18:57:49 103

原创 2021.4.17 动归

最长不下降子序列样例:in :13 7 9 16 38 24 37 18 44 19 21 22 63 15out: 8(还有需要输出的子序列)局部解析首先是一个找子序列的方法,这个理论上来说是可以用队列的方法的,但是由于需要输出最后的序列,队列的方法没法用,所以用n2的方法。for(int i = 1;i <= n; i++){ dp[i] = 1; for(int j = 1;j <= i; j++){ if(a[i] > a[j]){ if(dp[

2021-04-17 16:57:25 71

原创 亿点点有趣的小东西(C++如何固输)

(用于windows)首先,在Dev-C++中建一个源代码,输入#include<stdio.h>,然后按住ctrl并点击进入,在其中右键,找到打开包含文件夹,在其中新建一个文本文档,扩展名改成.h,比如:a.h。然后在stdio.h库里找到printf,复制到a中,将内容改为printf(“XXXX”),然后在printf前面调用你新建的文档 ,就可以啦,快去机惨吧~...

2021-04-15 19:52:34 52

原创 大连大学两日游——省选总结

在见见世面思想的带领下,我带着一颗啥也不会的脑子参加了今年的省选。结果最后发现,省选九个小时竟然是我开学以来过的最轻松的九个小时。。。(注:由于本人太菜,代码就不放了)省选当天压力前半段是开学以来的压力(找不出当天数据了)(以上数据来自华为运动健康)因为我一看就不是去拿分的,所以我的心态异常轻松,带着能写成啥样写成啥样的心里进了考场。进考场的第一件事就是建了一个C++文件然后编了一个hello world 确保了自己还记得怎么编译运行,然后等时间一到就开始拿题做了。第一天的题目如下:看

2021-04-11 22:54:51 186

原创 2021.3.23

卡特兰数卡特兰数模版#include <cstdio>#include <cmath>long long h[35];int main() { h[0] = h[1] = 1; int n; scanf("%d", &n); for (int i = 2; i <= n; i++) { h[i] = h[i - 1] * (4 * i - 2) / (i + 1);//递推 } printf("%lld", h[n]);//注意占位符,输出

2021-03-23 20:50:25 55

转载 递推式

后面问题的解可以由前面问题的解递推而来,每一项都与前面若干项有一定关联。它是一种用若干步可以重复的简单运算来描述复杂问题的方法。爬楼梯和兔子问题和斐波那契:f ( n ) = f ( n − 1 ) + f ( n − 2 ) ; f ( 1 ) = 1 , f ( 2 ) = 1 f(n)=f(n-1)+f(n-2) ; f(1)=1,f(2)=1f(n)=f(n−1)+f(n−2);f(1)=1,f(2)=1直线分割平面:f ( n ) = f ( n − 1 ) + n f(n)=f(n-1

2021-03-23 19:49:20 205

原创 上官婉儿飞天详解

题目描述小渊和小轩是好朋友也是同班同学,他们在一起总有谈不完的话题。一次素质拓展活动中,班上同学安排做成一个 mmm 行 nnn 列的矩阵,而小渊和小轩被安排在矩阵对角线的两端,因此,他们就无法直接交谈了。幸运的是,他们可以通过传纸条来进行交流。纸条要经由许多同学传到对方手里,小渊坐在矩阵的左上角,坐标 (1,1)(1,1)(1,1),小轩坐在矩阵的右下角,坐标 (m,n)(m,n)(m,n)。从小渊传到小轩的纸条只可以向下或者向右传递,从小轩传给小渊的纸条只可以向上或者向左传递。在活动进行中,小渊希望

2021-03-20 17:11:52 166

原创 3、18 生成随机数

#include<cstdio>#include<cstdlib>#include <ctime>using namespace std;int main(){ srand(time(NULL)); int a = rand() % 10; printf("%d" ,a); return 0;}

2021-03-18 20:37:27 182

原创 线段树区间查询修改(可以背的

#include<cstdio>using namespace std;int n,m;int f[100001] = { };long long sum[400001] ={ };int add[400001] = { };void build(int k,int l,int r){ if(l==r){ sum[k]=f[l]; return; } int mid=(l+r)>>1; build(2*k,l,mid); build(2*k+1,mid+

2021-03-18 20:36:24 59

转载 来自饭 线段树模版

引言有一类题目:要求在区间上维护信息,比如带修改区间求和问题。考虑到枚举求和肯定会超时,我们可以通过一些数据结构来维护信息,例如线段树。它功能强大,支持区间求和,区间求最值、区间修改等一系列操作。思想线段树,是一种二叉搜索树(即每个结点最多有两棵子树,通常叫做左右子树)。它将一段区间划分为若干单位区间,每一个节点都储存着一段区间[L,R]的信息,其中叶子节点L=R。它的大致思想是:将区间[1,n]平均分成2个小区间,再将小区间平均分成2个更小区间…以此类推,直到区间长度变为1无法分成两个更小的区间

2021-03-18 20:14:32 42

转载 floyd模版

for(int k = 1; k <= n; ++k) for(int i = 1; i <= n; ++i) for(int j = 1; j <= n; ++j) dp[i][j] = min(dp[i][j], dp[i][k] + dp[k][j]);

2021-03-16 20:38:23 48

原创 记忆化搜索例题

例题一:乘法游戏时间限制:1Sec内存限制:128MB题目描述乘法游戏是在一行牌上进行的。每一张牌包括了一个正整数。在每一个移动中,玩家拿出一张牌,得分是用它的数字乘以它左边和右边的数,所以不允许拿第1张和最后1张牌。最后一次移动后,这里只剩下两张牌,你的目标是使得分的和最小。例如,如果数是10 1 50 20 5,依次拿1、20、50,总分是10150+50205+10505=8000而拿50、20、1,总分是15020+1205+1015=1150。输入输入文件的第一行包括牌数(3<=n<=

2021-03-11 20:14:18 266

转载 来自范绪杰

来自丑陋无比的范大傻逼的博客#include <bits/stdc++.h>using namespace std;const int maxn = 1000;struct bign { int d[maxn], len; void clean() { while (len > 1 && !d[len - 1]) len--; } bign() { memset(d, 0, sizeof(d))

2021-03-11 20:01:45 123

原创 一道题而已 opj 9271

描述从一个无限大的矩阵的中心点出发,一步只能向右走、向上走或向左走。恰好走N且不经过已走的点共有多少种走法?输入一个数字,代表N,N<=1000输出输出有多少方案样例输入2样例输出7这道题是个动规题,但是与以往不同的是这道题是个正着推的题,我们定义一个二维数组a[][],a[][1]表示向左走的步数,a[][2]表示向右走的步数,a[][3]表示向上走的步数,后面的这个是用来标记方向的,左边的是用来记录步数的,具体怎么走呢,如果我们有i步,我们向左走了一步,那么我们接下来还能从新的

2021-03-08 22:44:19 139

原创 最长单调子序列

最近在opj上刷动态规划,遇到的比较多的就是最长单调子序列问题,有几道题调着确实挺费劲,写一下。描述一个数的序列bi,当b1 < b2 < … < bS的时候,我们称这个序列是上升的。对于给定的一个序列(a1, a2, …, aN),我们可以得到一些上升的子序列(ai1, ai2, …, aiK),这里1 <= i1 < i2 < … < iK <= N。比如,对于序列(1, 7, 3, 5, 9, 4, 8),有它的一些上升子序列,如(1, 7), (3

2021-03-05 23:02:18 600

原创 史上最细!元歌教学

竞赛结束了,现在将竞赛所有的内容进行一下汇总,并将所有能用的模版代码写于此,PPT中有详细的算法思路的解释,所以在此不再赘述,只有模版代码,务必记熟!贪心没有模版,就不写了QAQ二分模版也不是很难记,也不写了QAQ从三分开始三分(求单峰函数最值):#include<cstdio>#include<cmath>#include<algorithm>using namespace std;int n;double l,r;struct function{

2021-02-08 20:31:20 410

原创 图论算法2:最短路

今日主要内容:最短路一、单源最短路(SSSP)单源最短路有以下几种算法:1、Dijkstra(DJ哥斯拉)我们默认他的起点是1号点(这是可以自己改的)算法流程:初始化dis[1] = 0,其他节点:dis[i] = INF(很大);在没标记的节点中,找一个dis[x]最小的节点x,并将其标记扫描出边(x,y,z)若dis[y] > dis[x] + z。则用dis[x] + z更新dis[y]重复上述步骤那么首先先来看一下他的最原始代码:int head[100001];int

2021-02-02 20:12:27 313

原创 2月1日 图论

终于来到了传说中的图论,第一天就被虐的死去活来,究其原因是因为曾经的一些东西如dp,bfs理解的不是很透,代码写不出来,尤其是递推这块非常不熟练,图论的有些东西就很不好,后续会继续在csdn上总结一下dp和bfs今日主要内容:1、图的基本定义等(这个在网上都有,不多说了)2、存图3、图的遍历4、算法——拓扑排序从存图开始:三种方法1、邻接矩阵用二维数组表示点和点之间是否有边,例如a[i][j] = w就表示从i到j有一条有向边,边权为w。但是这个方法的空间复杂度是n^2,n稍微大一点就过不

2021-02-01 21:22:32 143

原创 1月27日集训总结

倍增倍增这个东西非常多玄妙,主要是通过查找2^k来优化复杂度。今天的题模版题比较多,在理解略困难的前提下要先记住,能用在实际生活中。1、快速幂题目描述给你三个整数 b,p,k,求 b^p modk。输入格式输入只有一行三个整数,分别代表 b,p,k输出格式输出一行一个字符串 b^p mod k=s,其中 b,p,k 分别为题目给定的值, s 为运算结果。输入输出样例输入2 10 9输出2^10 mod 9=7这道题看似和倍增没什么关系,但是这俩在思想上是有统一性的,快速幂事实

2021-01-28 00:03:09 114

原创 26日 二分 总结

1、砍树题目描述伐木工人米尔科需要砍倒M米长的木材。这是一个对米尔科来说很容易的工作,因为他有一个漂亮的新伐木机,可以像野火一样砍倒森林。不过,米尔科只被允许砍倒单行树木。米尔科的伐木机工作过程如下:米尔科设置一个高度参数H(米),伐木机升起一个巨大的锯片到高度H,并锯掉所有的树比H高的部分(当然,树木不高于H米的部分保持不变)。米尔科就行到树木被锯下的部分。例如,如果一行树的高度分别为20,15,10和17,米尔科把锯片升到15米的高度,切割后树木剩下的高度将是15,15,10和15,而米尔科将从

2021-01-27 22:10:21 412

原创 老头怎么打边惩程咬金?

一直对dfs这一块比较懵(其实递归也挺懵的),所以找机会总结一下dfs和一些能用到的模版,勿喷什么是dfs呢?DFS环球免税购,荟萃逾700个全球知名品牌,涵盖时装配饰,美妆香水,腕表珠宝,葡萄酒和烈酒,美食及礼品。官方正品保证,乐享免税价格。DFS旗下澳门T广场,限时美妆惊喜连连,更有电子消费卡等多重优惠奖赏。成为T贵宾,更可尊享DFS独家礼遇与会员积分!咳咳,对不起,搞错了,再来。深度优先搜索属于图算法的一种,英文缩写为DFS即Depth First Search.其过程简要来说是对每一个可能的

2021-01-22 19:37:19 178

原创 核弹流苏烈详解

将从1到n这n个整数围成一个圆环,若其中任意2个相邻的数字相加,结果均为素数,那么这个环就成为素数环。n=20时,下面的序列就是一个素数环:1 2 3 4 7 6 5 8 9 10 13 16 15 14 17 20 11 12 19 18dfs即可。。#include<cstdio>using namespace std;int a[1001] = { }, n;bool judge[1001] = { },flag = 0; bool sushu(int x){。 //先写

2021-01-22 18:30:57 342

原创 力量不倒,紫金不灭!

十进制转化八进制,短除法#includeusing namespace std;int main(){int n;int a[10001] = { };scanf("%d" ,&n);int k = 1;while(1){int m = (n - n % 8) / 8;a[k] = n % 8;k++;n = m;if(m <= 0){break;}}for(int i = k - 1;i >= 1; i–){printf("%d" ,a[i]);

2021-01-20 12:47:34 73

原创 震惊!2.1费矿工炸弹人惊现CR职业赛场!

经典汉诺塔#includeusing namespace std;void hanoi(int k,char c1,char c2,char c3){if(k == 1){printf("%d %c %c\n" ,k,c1,c3);}else{hanoi(k - 1,c1,c3,c2);printf("%d %c %c\n" ,k,c1,c3);hanoi(k - 1,c2,c1,c3);}}int main(){int n;scanf("%d" ,&n);hano

2021-01-20 12:45:35 121

原创 16日模拟

【问题描述】 已知 m、n 为整数,且满足下列两个条件: ① m、n∈{1,2,…,k},即 1≤m,n≤k ②(n 2 -m*n-m 2 ) 2 =1 你的任务是:编程输入正整数k(1≤k≤10 9 ),求一组满足上述两个条件的m、n,并且使m 2 +n 2 的值最 大。例如,从键盘输入k=1995,则输出:m=987 n=1597。【输入样例】 1995【输出样例】 m=987 n=1597这道题有比较玄,首先最暴力的思路就是模拟,但是按照正常的评测,模拟是会爆时间的,所以稍加改动,先把所有n,m

2021-01-17 19:54:45 121

原创 16日模拟

7、火车站(Noip1998) 【问题描述】火车从始发站(称为第 1 站)开出,在始发站上车的人数为 a,然后到达第 2 站,在第 2 站有人上、下车,但上、下车的人数相同,因此在第 2 站开出时(即在到达第 3 站之前) 车上的人数保持为 a 人。从第 3 站起(包括第 3 站)上、下车的人数有一定的规律:上车的 人数都是前两站上车人数之和,而下车人数等于上一站上车人数,一直到终点站的前一站(第 n-1 站),都满足此规律。现给出的条件是:共有 N 个车站,始发站上车的人数为 a,最后一 站下车的人数是

2021-01-17 19:50:12 242

原创 16日模拟总结

第k个整数#includeusing namespace std;int n,a[20000],ans[40000] = { },b[20000] = { };int main(){int h,k = 0;scanf("%d %d" ,&n,&h);for(int i = 1;i <= n; i++){scanf("%d" ,&a[i]);}for(int i = 1;i <= n; i++){ans[a[i]]++;}for(int i =

2021-01-17 12:55:03 109 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除