随笔分类 - 学科竞赛--算法学习
摘要:代码: 1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 using namespace std; 5 const int N = 12; 6 int g[N][N], dp[2*N][N][N], n;//注意这
阅读全文
摘要:1 125. 耍杂技的牛 2 3 农民约翰的 N 头奶牛(编号为 1..N)计划逃跑并加入马戏团,为此它们决定练习表演杂技。 4 5 奶牛们不是非常有创意,只提出了一个杂技表演: 6 7 叠罗汉,表演时,奶牛们站在彼此的身上,形成一个高高的垂直堆叠。 8 9 奶牛们正在试图找到自己在这个堆叠中应该所
阅读全文
摘要:104. 货仓选址 在一条数轴上有 N 家商店,它们的坐标分别为 A1∼AN。 现在需要在数轴上建立一家货仓,每天清晨,从货仓到每家商店都要运送一车商品。 为了提高效率,求把货仓建在何处,可以使得货仓到每家商店的距离之和最小。 输入格式 第一行输入整数 N。 第二行 N 个整数 A1∼AN。 输出格
阅读全文
摘要:1 H. eroengine's Sign Problem 2 time limit per test1 second 3 memory limit per test256 megabytes 4 inputstandard input 5 outputstandard output 6 eroen
阅读全文
摘要:差分差分就是将数列中的每一项分别与前一项数做差,例如:一个序列[1 7 6 5 2 4],差分后得到[1 6 -1 -1 -3 -2 -4]差分序列第一个数和原序列第一个数相同(相当于第一个数减去0)差分序列最后比原序列多一个数(相当于0减去最后一个数) 性质1.差分序列求前缀和可得原序列2.将原序
阅读全文
摘要:《1.题目一--最佳牛栏问题》 题目链接:https://www.acwing.com/problem/content/104/ 、 用到的基本思想:二分,前缀和,平均值的特殊处理 这个题目的题意是,给出N块连续的田地,田地上有牛; 我们想要在这个给出的一系列田地中找出连续的田地(连续的意思是按照题
阅读全文
摘要:《经典问题一》: 若有 dist[t][j] 中 t 不是固定的,而j是固定的,我们只要将存储的边反一下,变成普通的单元汇的问题即可 《BFS解决的问题》 1 Problem G. Guard the castle 2 Input file: standard input 3 Output file
阅读全文
摘要:1 达达决定把所有的果子合成一堆。 2 3 每一次合并,达达可以把两堆果子合并到一起,消耗的体力等于两堆果子的重量之和。 4 5 可以看出,所有的果子经过 n−1 次合并之后,就只剩下一堆了。 6 7 达达在合并果子时总共消耗的体力等于每次合并所耗体力之和。 在符合这样一个选择合并规则后,我们可以发
阅读全文
摘要:1 7-3 打怪升级 2 分数 25 3 作者 陈越 4 单位 浙江大学 5 dgsj.JPG 6 7 很多游戏都有打怪升级的环节,玩家需要打败一系列怪兽去赢取成就和徽章。这里我们考虑一种简单的打怪升级游戏,游戏规则是,给定有 N 个堡垒的地图,堡垒之间有道路相连,每条道路上有一只怪兽把守。怪兽本身
阅读全文
摘要:1.遇到是字符的图用cin来读入,你永远不知道题目输入的空格有多恶心! 2.永远不要忘记q.front()后,q.pop()!!!
阅读全文
摘要:1 Constructing Roads 2 描述: 3 There are N villages, which are numbered from 1 to N, and you should build some roads such that every two villages can co
阅读全文
摘要:1 Seating of Students 2 2000ms 262144K 3 描述: 4 Students went into a class to write a test and sat in some way. The teacher thought: "Probably they sat
阅读全文
摘要:1 给定一个 n×m 的矩阵,其中 q 个位置已经被填充。 2 有一条规则,如果 (r1,c1)(r1,c1) ,(r1,c2)(r1,c2),(r2,c1)(r2,c1) 均被填充,则 (r2,c2)(r2,c2) 也被填充。任何被其他三个位置生成的位置,也可以继续生成其他位置。问最少需要再人为填
阅读全文
摘要:1.bellmax_ford算法: 其特点:能够用来求有边数限制的最短路,以及带负环的最短路,有以上这些特性都是因为: for (int i=0;i<edgenum;i++)其最外边的for 循环,其含义是决定了从起点到终点一共用了多少条边。 1 给定一个 n 个点 m 条边的有向图,图中可能存在重
阅读全文
摘要:一.模拟散列表: 1 维护一个集合,支持如下几种操作: 2 3 I x,插入一个数 x; 4 Q x,询问数 x 是否在集合中出现过; 5 现在要进行 N 次操作,对于每个询问操作输出对应的结果。 6 7 输入格式 8 第一行包含整数 N,表示操作数量。 9 10 接下来 N 行,每行包含一个操作指
阅读全文
摘要:一.什么是二分图?: 引用了这个大佬的话:https://www.acwing.com/solution/content/105874/ 有两顶点集且图中每条边的的两个顶点分别位于两个顶点集中,每个顶点集中没有边直接相连接! 说人话的定义:图中点通过移动能分成左右两部分,左侧的点只和右侧的点相连,右
阅读全文
摘要:一.线段树的作用: 待补充:目前我遇到的作用是能够动态的得到某一区间的某一特性。 什么叫动态呢? 即我可以临时改变某一区间的值,同时整个区间的这个特性也会动态的改变,保持这个特性; 如果说前缀和,单调栈等是预处理,静态的,那么这个就是动态的。 二.线段树的实现: 其实现的几个方法:建,查,改。 以具
阅读全文
摘要:7-17 根据后序和中序遍历输出先序遍历 (25 分) #include<bits/stdc++.h> using namespace std; int prearray[35],midarray[35],postarray[35]; void solvefunc(int pre,int mid,i
阅读全文
摘要:#include<iostream> #include<cstdio> using namespace std; #define MAXNUM 10001 int SetType[MAXNUM]; void InitialSet(int S[], int N); void LinkComputer(
阅读全文
摘要:这里是二叉树的删除:#include <bits/stdc++.h> using namespace std; typedef struct TNode *BinTree; struct TNode { int Data; BinTree Left; BinTree Right; }; BinTre
阅读全文