寒假
。
uadsbkc
这个作者很懒,什么都没留下…
展开
-
#模拟赛1# B - Hills And Valleys
题目https://codeforces.com/problemset/problem/1467/B原创 2021-04-14 22:24:21 · 76 阅读 · 0 评论 -
#模拟赛1# A - Wizard of Orz
题目原创 2021-03-28 22:27:23 · 81 阅读 · 0 评论 -
#寒假1# S - A Magic Lamp
题目https://vjudge.net/problem/HDU-3183n位数,去掉m位,使得剩下的数字最小思路维护一个单增的栈,因为写了好多while,所以可能一不小心就有死循环了。。每次碰见单减序列,就把前面大的数字删除代码#include<iostream>#include<algorithm>#include <cstring>#include <cmath>#include <stack>#define MA原创 2021-03-28 17:46:23 · 61 阅读 · 0 评论 -
#寒假1# R - Frequent values
题目https://vjudge.net/problem/POJ-3368思路这样,查询的时候,先求两个端点的max(要减去之前&之后的个数),再求其他区间的max,之后取max代码原创 2021-03-28 15:25:10 · 70 阅读 · 0 评论 -
#寒假1# Q - Covered Points Count
题目https://vjudge.net/problem/CodeForces-1000C思路emmm一开始想用差分做,但是数据太大了,也要好久,这个思路值得学习,避开了区间之间的运算代码# include<iostream># include<algorithm>#include <string>#define MAXX 500005using namespace std;typedef long long ll;pair<ll, ll&原创 2021-03-28 11:09:08 · 71 阅读 · 0 评论 -
#寒假1# P - 程序设计:蒜头君的数轴
题目https://vjudge.net/problem/%E8%AE%A1%E8%92%9C%E5%AE%A2-A1633思路pos 中的最大值,设为 maxx ,则 maxx 为解的最优间隔,枚举所有相邻两点的距离,求解需要加点的个数代码# include<iostream># include<algorithm>#include <string>#define MAXX 100005using namespace std;int n;int原创 2021-03-27 17:28:36 · 59 阅读 · 0 评论 -
#寒假1# O - Discover the Web
题目https://vjudge.net/problem/LightOJ-1113思路一个hin简单的stack*2题代码#include<iostream>#include<cstring>#include <stack>#define MAXX 5050using namespace std;int main(){ int N; cin >> N; for (int i = 1; i <= N;原创 2021-03-27 15:04:00 · 67 阅读 · 0 评论 -
#寒假1# N - Ultra-QuickSort
题目https://vjudge.net/problem/POJ-2299思路求逆序对,做过类似的,看题解有三种方法,这里还是用树状数组来做吧,熟悉熟悉~ps:这个奇奇怪怪的图跟题目有什么联系嘛跟交换的次数的代码是一样的,,,,,,,,,,只是把空间改大了。。。。。自己写的那个遇到了好多问题。。。。。还是思路不清晰造成的代码#include<iostream>#include<utility>#include<algorithm>#include&原创 2021-03-27 14:09:16 · 71 阅读 · 0 评论 -
#寒假1# M - Stars
题目https://vjudge.net/problem/POJ-2352思路因为是上升的序列,所以每次给出一个点,都可以向前求和,算出这个点在第几级(左下方区域有几个点,就是第几级),让对应级别的数组ans增加对应的级别最后输出即可。因为要不断向前求和,所以可以想到使用树状数组来实现英文题看起来好费劲呜呜呜代码#include <iostream>#include <cstring>#include <vector>#include <que原创 2021-03-26 10:55:39 · 65 阅读 · 0 评论 -
#寒假1# L - Mobile phones
题目https://vjudge.net/problem/POJ-1195思路二维树状数组的模板题代码#include <iostream>#include <cstring>#include <vector>#include <queue>#define MAXX 1050#define INF 0x3f3f3f3fusing namespace std;int s;int map[MAXX][MAXX];int lowbit原创 2021-03-25 17:45:23 · 114 阅读 · 0 评论 -
#寒假1# K - How Many Tables
题目https://vjudge.net/problem/HDU-1213思路并查集果题代码#include <iostream>#include <vector>#include <cstring>#define MAXX 1005#define inf 0x3f3f3f3fusing namespace std;int a[MAXX], num;int Find(int x){ if (x == a[x]) ret原创 2021-03-08 08:58:38 · 55 阅读 · 0 评论 -
#寒假1# J - Stockbroker Grapevine(floyd)
题目https://vjudge.net/problem/POJ-1125思路先找到每个顶点到各个点的最短路径,在从这些最短路径中,找到距离最大的代码#include <iostream>#include <vector>#include <cstring>#define MAXX 105#define inf 0x3f3f3f3fusing namespace std;int N;int road[MAXX][MAXX];int main原创 2021-03-07 21:45:55 · 72 阅读 · 0 评论 -
#寒假1# I - Constructing Roads(prim)
题目https://vjudge.net/problem/POJ-2421思路prim最小生成路径,从点1开始,所搜点2,3,4,不断更新dis数组,哪些点之前已经连成一组了,就把他们的距离设置为0即可,ans+0也算是最小路径了代码#include <iostream>#include <vector>#include <cstring>#define MAXX 105#define inf 0x3f3f3f3f //这里可以看成是无穷大了us原创 2021-03-07 21:04:03 · 65 阅读 · 0 评论 -
#寒假1# H - Xor Sum
题目https://vjudge.net/problem/HDU-4825思路字典树的思路代码#include <iostream>#include <vector>#include <cstring>#define MAXX 3000005using namespace std;int tree[MAXX][2], re[MAXX], a[MAXX];int num;void insert(int x, int id){ int t原创 2021-03-07 16:20:34 · 79 阅读 · 0 评论 -
#寒假1# G - 统计难题(字典树)
题目https://vjudge.net/problem/HDU-1251思路字典树的模板题字典树,也叫 前缀树 ,用来存储和查询字符串例如,water,wish,win,tie,tiredwater,wish,win,tie,tiredwater,wish,win,tie,tired 这几个单词可以用以下方式存储:本题就是建立字典树,找出前缀字符串的数量代码注意...原创 2021-03-06 11:39:35 · 110 阅读 · 0 评论 -
#寒假1# F - Roads in the North
题目https://vjudge.net/problem/POJ-2631思路求树的直径模板题…树的直径:树上两个节点之间最远的距离(类比圆的直径)方法一:两次DFS① 从任意一点P出发,通过DFS寻找离它最远的点Q② 再次从点Q出发,通过DFS寻找离它最远的W③ 直径即为WQ证明过程略,可以用反证法方法二:树形DP待填坑ing…代码#include <iostream>#include <vector>#include <cstring>原创 2021-03-06 11:16:08 · 103 阅读 · 0 评论 -
#寒假1# E - Minimum Inversion Number
题目https://vjudge.net/contest/417166#problem/E思路逆序数:序列中满足i<j,但a[i]>a[j]的个数,反之也是题中要求把一个序列看成一个封闭的圈,每个点作为顶点形成的所有序列中,逆序数最小的数目逆序数存在一个规律:以序列6,3,5,0,1,4,26,3,5,0,1,4,26,3,5,0,1,4,2为例(0~n-1)当a[i]为顶点时,比a[i]大的数有n-1-a[i]个,比a[i]小的数有a[i]个,即顺序对n-1-x,逆序对x假设原创 2021-03-05 21:49:58 · 147 阅读 · 0 评论 -
#寒假1# a -洛谷线段树模板题
题目https://www.luogu.com.cn/problem/P3372#submit思路参考代码#include <iostream>#include <vector>#include <cstring>#define MAXX 200005using namespace std;int a[MAXX];struct node{ int l, r, tag; long long sum;} tree[MAXX * 4原创 2021-03-05 16:34:50 · 71 阅读 · 0 评论 -
#寒假1# D - Nearest Common Ancestors
题目https://vjudge.net/problem/POJ-1330思路LCA中的倍增解法① 用二维数组tree[x][y]tree[x][y]tree[x][y]存储这棵树,x为父节点,y为子节点,使用vector便于DFS② 用de数组确定根节点:深度为0③ 用h数组确定所有结点的深度:子节点=父节点深度+1④ 倍增先从1,2,4,8…依次跳着找到前面的祖先,保存到fa[x][y]fa[x][y]fa[x][y]中,y表示2的y次方,如fa[3][0]=16,fa[3][1]原创 2021-03-04 15:49:07 · 75 阅读 · 1 评论 -
#寒假1# C - A Bug‘s Life
题目https://vjudge.net/problem/POJ-2492思路判断虫子之间是否有同性的情况比如这一组1 22 31 3首先,用fa[x]给每个虫子初始化编号,并用r[x]初始化性别,规定与父虫子性别相同时为0,相反时为1当到(1,3)这一组的时候,3的fa为1,r[3]变成1,与1的r相同,所以出现错误代码#include <iostream>#define MAXX 5000using namespace std;int fa[MAXX];i原创 2021-03-03 10:04:17 · 53 阅读 · 0 评论 -
#寒假1# B - Balanced Lineup
题目https://vjudge.net/problem/POJ-3264分析基础的RMQ的思路代码#include <iostream>#include <cmath>#define MAXX 100000using namespace std;int maxn[MAXX][100];int minn[MAXX][100];int a[MAXX];int main() { int m, n; while (~scanf("%d%d", &原创 2021-03-01 19:40:26 · 68 阅读 · 0 评论 -
#寒假1# A - Fence Repair
题目https://vjudge.net/problem/POJ-3253锯木头,切割一块长度为21的木板,费用为21美分,给n块木头和其长度,求最小的金额分析倒过来看,就是每一次相加时,都是最小的两个数相加,这样可保证总和最小代码#include <iostream>#include <queue>using namespace std;int main() { int n; while(cin>>n) {原创 2021-02-19 11:04:31 · 121 阅读 · 0 评论