
STL容器
Wa_Automata
这个作者很懒,什么都没留下…
展开
-
河南萌新联赛2024第(二)场:南阳理工学院 K - Magic Cube
一天,慢羊羊村长手中的宇宙魔方被擎天柱突然夺走了,并且交给了钢铁侠用来给光之国的等离子火花塔供能,以便提前让电击小子苏醒,来拯救这个荒诞的多元宇宙。宇宙魔方处于乱码状态,身为光之国科研战线第一人的派大星一眼就看出了这块宇宙魔方的能量解码,但苦于没有手指头,所以他只能拜托你来解决这个问题。现在,你肩负着宇宙的希望,派大星的智慧,你将竭尽所能,让这个宇宙在光芒中继续璀璨辉煌。众所周知,宇宙魔方由8个角块,12个棱块,6个中心块组成。其中中心块的相对位置是恒定的,不会随着转动而改变位置。原创 2024-07-30 14:27:29 · 558 阅读 · 0 评论 -
2023河南萌新联赛第(五)场:郑州轻工业大学 I - 双指针
给定一个数组 $a$ 和数组 $b$ ,两个数组的长度都为 $n$, 请选择分别两个下标 $i, j$ 且 $i, j$ 满足条件 $1 \leq i < j \leq n$, 求有多少对 $i, j$ 满足 $a_i \times a_j = b_i \times b_j$ 。原创 2023-08-10 21:01:39 · 243 阅读 · 0 评论 -
PTA L2-048 寻宝图 (25 分)
给定一幅地图,其中有水域,有陆地。被水域完全环绕的陆地是岛屿。有些岛屿上埋藏有宝藏,这些有宝藏的点也被标记出来了。本题就请你统计一下,给定的地图上一共有多少岛屿,其中有多少是有宝藏的岛屿。原创 2023-04-24 13:16:51 · 3026 阅读 · 3 评论 -
PTA L2-046 天梯赛的赛场安排 (25 分)
天梯赛使用 OMS 监考系统,需要将参赛队员安排到系统中的虚拟赛场里,并为每个赛场分配一位监考老师。每位监考老师需要联系自己赛场内队员对应的教练们,以便发放比赛账号。C为此我们设计了多轮次排座算法,按照尚未安排赛场的队员人数从大到小的顺序,每一轮对当前未安排的人数最多的学校进行处理。记当前待处理的学校未安排人数为nn≥CCnCnnCn由于近年来天梯赛的参赛人数快速增长,2023年超过了 480 所学校 1.6 万人,所以我们必须写个程序来处理赛场安排问题。原创 2023-04-24 12:59:39 · 2339 阅读 · 4 评论 -
PTA L2-045 堆宝塔 (25 分)
堆宝塔游戏是让小朋友根据抓到的彩虹圈的直径大小,按照从大到小的顺序堆起宝塔。但彩虹圈不一定是按照直径的大小顺序抓到的。重复此步骤,直到所有的彩虹圈都被抓完。最后 A 柱上剩下的宝塔作为一件成品,B 柱上剩下的彩虹圈被逐一取下,堆成另一座宝塔。问:宝宝一共堆出了几个宝塔?最高的宝塔有多少层?原创 2023-04-24 10:53:54 · 2745 阅读 · 1 评论 -
PTA L1-087 机工士姆斯塔迪奥 (15 分)
在 MMORPG《最终幻想14》的副本“乐欲之所瓯博讷修道院”里,BOSS 机工士姆斯塔迪奥将会接受玩家的挑战。你需要处理这个副本其中的一个机制:$N×M$ 大小的地图被拆分为了 $N×M$ 个 $1×1$ 的格子,BOSS 会选择若干行或/及若干列释放技能,玩家不能站在释放技能的方格上,否则就会被击中而失败。给定 BOSS 所有释放技能的行或列信息,请你计算出最后有多少个格子是安全的。原创 2023-04-22 20:33:50 · 698 阅读 · 0 评论 -
PTA L2-034 口罩发放 (25 分)
# [PTA L2-034 口罩发放 (25 分)](https://pintia.cn/problem-sets/994805046380707840/exam/problems/1336215880692482057)原创 2023-04-12 11:49:40 · 902 阅读 · 0 评论 -
PTA L2-036 网红点打卡攻略 (25 分)
# [PTA L2-036 网红点打卡攻略 (25 分)](https://pintia.cn/problem-sets/994805046380707840/exam/problems/1336215880692482059)#### 跟着要求模拟就好,判断能不能做到从家里出发,在每个网红点打卡仅一次,且能回到家里。原创 2023-04-12 11:08:00 · 578 阅读 · 0 评论 -
[CSP-S 2021] 廊桥分配
# [\[CSP2021\]廊桥分配(airport)](https://ac.nowcoder.com/acm/contest/55154/E)# [P7913 \[CSP-S 2021\] 廊桥分配](https://www.luogu.com.cn/problem/P7913)## 通过题意我们可以知道,预处理对于每个国内和国外机场来说,分配给`1-m`个廊桥进行停放。## $$设f[i]: 国内有 i 个廊桥能承载的飞机数量$$## $$设g[i]: 国外有 i 个廊桥能承载的飞机数量$$原创 2023-04-05 17:51:39 · 1384 阅读 · 0 评论 -
HDU - 1027 Ignatius and the Princess II(全排列函数)
# [HDU - 1027 Ignatius and the Princess II](https://acm.hdu.edu.cn/showproblem.php?pid=1027)> "Now I will show you the first problem." feng5166 says, "Given a sequence of number 1 to N, we define that 1,2,3...N-1,N is the smallest sequence among all the原创 2022-12-29 22:41:02 · 89 阅读 · 0 评论 -
CodeForces - 670C Cinema(排序)
Codeforces-670C Cinema#include<iostream>#include<map>#define x first#define y secondusing namespace std;typedef pair<int,int>PII;const int N = 200010;map<int,int>s;PII p[N];int a[N],b[N];int n,m;int main(){ scanf原创 2021-10-22 18:26:43 · 182 阅读 · 0 评论 -
2022河南萌新联赛第(一)场:河南工业大学 D - 纪念品领取
对于每次的抽签,我们可以直接将其往后放,即对于第 iii 次抽签对应的人,我们就将其位置信息更新为 n+in+in+i ,最后通过排序,寻找位置最小的五个人按序号大小输出即可。时间复杂度: O(nlogn)O(n \log n)O(nlogn)......原创 2022-07-11 15:14:36 · 346 阅读 · 0 评论 -
2022河南萌新联赛第(一)场:河南工业大学 F - 买车
在每一次车没有电的时候,我们考虑从前面经过的所有店铺里面能走的最远的一个店铺买车,这样可以保证使用最少的次数到达目的地。提供一个贪心正确性的简单证明:假设我们当前选择的最优店铺为 xxx ,最远店铺为 y(x=ansy ......原创 2022-07-11 14:39:12 · 175 阅读 · 0 评论 -
POJ - 3784 Running Median(对顶堆)
DescriptionFor this problem, you will write a program that reads in a sequence of 32-bit signed integers. After each odd-indexed value is read, output the median (middle value) of the elements received so far.InputThe first line of input contains a single原创 2022-07-06 16:16:28 · 219 阅读 · 0 评论 -
PTA L3-031 千手观音 (30 分)
人类喜欢用 10 进制,大概是因为人类有一双手 10 根手指用于计数。于是在千手观音的世界里,数字都是 10 000 进制的,因为每位观音有 1 000 双手 ……千手观音们的每一根手指都对应一个符号(但是观音世界里的符号太难画了,我们暂且用小写英文字母串来代表),就好像人类用自己的 10 根手指对应 0 到 9 这 10 个数字。同样的,就像人类把这 10 个数字排列起来表示更大的数字一样,ta们也把这些名字排列起来表示更大的数字,并且也遵循左边高位右边低位的规则,相邻名字间用一个点 分隔,例如 表示原创 2022-06-20 23:09:35 · 1228 阅读 · 0 评论 -
PTA L2-043 龙龙送外卖 (25 分)
PTA L2-043 龙龙送外卖 (25 分)龙龙是“饱了呀”外卖软件的注册骑手,负责送帕特小区的外卖。帕特小区的构造非常特别,都是双向道路且没有构成环 —— 你可以简单地认为小区的路构成了一棵树,根结点是外卖站,树上的结点就是要送餐的地址。每到中午 12 点,帕特小区就进入了点餐高峰。一开始,只有一两个地方点外卖,龙龙简单就送好了;但随着大数据的分析,龙龙被派了更多的单子,也就送得越来越累……看着一大堆订单,龙龙想知道,从外卖站出发,访问所有点了外卖的地方至少一次(这样才能把外卖送到)所需的最短路程原创 2022-05-01 14:40:18 · 2977 阅读 · 0 评论 -
PTA L2-044 大众情人 (25 分)
PTA L2-044 大众情人 (25 分)人与人之间总有一点距离感。我们假定两个人之间的亲密程度跟他们之间的距离感成反比,并且距离感是单向的。例如小蓝对小红患了单相思,从小蓝的眼中看去,他和小红之间的距离为 1,只差一层窗户纸;但在小红的眼里,她和小蓝之间的距离为 108000,差了十万八千里…… 另外,我们进一步假定,距离感在认识的人之间是可传递的。例如小绿觉得自己跟小蓝之间的距离为 2,则即使小绿并不直接认识小红,我们也默认小绿早晚会认识小红,并且因为跟小蓝很亲近的关系,小绿会觉得自己跟小红之间的距原创 2022-04-28 17:06:25 · 5822 阅读 · 9 评论 -
PTA L2-041 插松枝 (25 分)
PTA L2-041 插松枝 (25 分)题面又长又难读,现场读题20分钟,最后也就只是过了13分的数据,搞人心态的一道题#include<iostream>#include<vector>#include<stack>#include<queue>using namespace std;vector<vector<int> > ans;vector<int> st;queue<int> a;原创 2022-04-27 15:58:19 · 5467 阅读 · 3 评论 -
PTA L3-029 还原文件 (30 分)
PTA L3-029 还原文件 (30 分)#include<iostream>#include<vector>using namespace std;const int N = 100010;vector<int> h[N],b;bool st[N],f;int n,m,a[N];void dfs(int x){ if(f) return; if(x>=n) { cout<<b[0]; for(int i=1;i<原创 2022-04-27 15:05:21 · 605 阅读 · 0 评论 -
PTA L2-040 哲哲打游戏 (25 分)
哲哲是一位硬核游戏玩家。最近一款名叫《达诺达诺》的新游戏刚刚上市,哲哲自然要快速攻略游戏,守护硬核游戏玩家的一切!为简化模型,我们不妨假设游戏有N个剧情点,通过游戏里不同的操作或选择可以从某个剧情点去往另外一个剧情点。此外,游戏还设置了一些,在某个剧情点可以将玩家的游戏进度保存在一个档位上,读取存档后可以回到剧情点,重新进行操作或者选择,到达不同的剧情点。为了追踪硬核游戏玩家哲哲的攻略进度,你打算写一个程序来完成这个工作。原创 2022-04-27 14:57:12 · 1462 阅读 · 0 评论 -
PTA L2-042 老板的作息表 (25 分)
PTA L2-042 老板的作息表 (25 分)#include<iostream>#include<algorithm>#include<vector>#include<array>using namespace std;int main(){ int n;cin>>n; vector<array<int,6> > a; for(int i=0;i<n;i++) { int b,c,d,e,原创 2022-04-27 14:40:16 · 2307 阅读 · 0 评论 -
PTA L1-080 乘法口诀数列 (20 分)
L1-080 乘法口诀数列 (20 分)#include<iostream>using namespace std;int a[1010];int n,i=3;//项数 ,从第三个数开始存 void fan(int x){ int s1,s2; s1=x/10;//十位 a[i++]=s1; printf(" %d",s1); if(i-1>=n) return ; s2=x%10;//个位 a[i++]=s2; printf(" %d",s2); i原创 2021-04-28 19:04:47 · 1179 阅读 · 0 评论 -
PTA L1-078 吉老师的回归 (15 分)
L1-078 吉老师的回归 (15 分)#include<iostream>#include<cstring>using namespace std;char ss[10010];int main(){ int a1,a2,b,c,d,f,flag; flag=0;f=0; cin>>a1>>a2; getchar(); while(a1--) { cin.getline(ss,9999); if(strstr(ss,"qian原创 2021-04-28 19:03:29 · 1239 阅读 · 0 评论 -
PTA L1-088 静静的推荐 (15 分)
PTA L1-088 静静的推荐 (15 分)#include<iostream>#include<map>using namespace std;int main(){ map<int,int> b; int n,k,s;cin>>n>>k>>s; int res=0; for(int i=1;i<=n;i++) { int sc,psc;cin>>sc>>psc; if(sc原创 2022-04-27 14:32:56 · 1405 阅读 · 0 评论 -
ZZULIOJ 2889: 移动元素(Hash)
ZZULIOJ 2889: 移动元素(Hash)⾸先,要想将⼀个数组分成前后两个部分且各元素和相等,那么整个数组元素之和必须为偶数。其次,移动元素,可以从左往右移动,也可以从右往左移动,那么就可以分别判断这两种情况是否可以达到⽬的,可以枚举前缀和判断从左往右移,枚举后缀和判断从右往左移。先判断从左往右移,枚举前缀和,将p[i]p[i]p[i]作为前⼀部分,arr[i]arr[i]arr[i]移动到后⼀部分,那么我们只需要判断p[i]−arr[i]=p[n]2p[i]-arr[i]=\frac{p[n]原创 2022-02-14 15:59:52 · 172 阅读 · 0 评论 -
POJ - 1442 Black Box(二叉堆)
POJ - 1442 Black Box(二叉堆)#include<cstdio>#include<queue>#include<vector>using namespace std;const int N = 30010;int a[N],b[N];int main(){ int n,m;scanf("%d%d",&n,&m); for(int i=1;i<=n;i++) scanf("%d",&a[i])原创 2022-02-04 14:33:05 · 243 阅读 · 0 评论 -
POJ - 2259 Team Queue(队列模拟)
POJ - 2259 Team Queue(队列模拟)#include<iostream>#include<queue>using namespace std;const int N = 1010, M = 1000010;int teamid[M];int main(){ int n,C=1; while(cin>>n,n) { for(int i=0;i<n;i++) { int cnt;cin>&g原创 2022-01-24 17:05:50 · 566 阅读 · 0 评论 -
POJ - 3125 Printer Queue(优先队列)
POJ - 3125 Printer Queue(优先队列)#include<iostream>#include<queue>using namespace std;typedef pair<int,int> PII;const int N = 100;PII a[N];int main(){ int T;cin>>T; while(T--) { int n,m;cin>>n>>m; queue<P原创 2022-01-24 17:10:02 · 328 阅读 · 0 评论 -
POJ - 1028 Web Navigation(栈模拟)
POJ - 1028 Web Navigation(栈模拟)#include<iostream>#include<stack>using namespace std;int main(){ stack<string> a,b; b.push("http://www.acm.org/"); string s; while(cin>>s) { if(s=="QUIT") break; if(s=="VISIT") {原创 2022-01-24 17:03:57 · 426 阅读 · 0 评论 -
POJ - 1193 内存分配
POJ - 1193 内存分配数据结构:等待队列:(内存长度, 占用时间):queue内存使用情况:(起始下标,长度),线性扫描、删除、插入:set小根堆:(释放时间key,起始下标),priority_queue算法流程:新来一个请求:(T,M,P)释放掉所有 释放时间 <= T 的内存,每次释放之后,都要判断等待队列的队头是否可以满足判断(T,M,P)是否可以满足,如果不可以,则插入等待队列#include<iostream>#include<que原创 2022-01-19 18:13:32 · 208 阅读 · 0 评论 -
POJ - 2442 Sequence(二叉堆)
POJ - 2442 Sequence#include<iostream>#include<algorithm>#include<queue>#include<vector>using namespace std;typedef pair<int,int> PII;int n,m;void work(vector<int> &a,vector<int> &b){ vector原创 2022-01-11 22:32:24 · 114 阅读 · 0 评论 -
POJ - 1456 Supermarket(贪心)
POJ - 1456 Supermarket这道题目,我们很容易发现是有一个贪心性质,也就是对于t天,我们需要在保证不卖出过期商品的前提下,卖出利润前t大的商品.所以呢,我们可以把商品按照过期时间排序,然后建立一个小根堆,对于每一个数而言,如果说它的过期时间大于当前小根堆的个数,那么我们可以直接将这个货物的价值加入进来,如果说当前过期时间正好等于这个小根堆堆内的个数,那么我们就需要对比一下,如果说这个货物的价值,是高于小根堆的堆顶的话,那么我们就将小根堆堆顶弹出,然后push我们这个新货物,因为新货物原创 2021-08-23 19:59:05 · 293 阅读 · 0 评论 -
PTA L2-039 清点代码库 (25 分)
L2-039 清点代码库 (25 分)#include<bits/stdc++.h>using namespace std;map<vector<int>,int> cnt;vector<pair<int,vector<int>>> ans;int main(){ ios::sync_with_stdio(false); int n,m;cin>>n>>m; fo原创 2021-12-11 20:34:51 · 1352 阅读 · 0 评论 -
UVA - 10935 Throwing cards away I(queue队列)
UVA - 10935 Throwing cards away I题意:1~n,1在上,n在下面,每次操作先把最上面的数字扔掉,再把最上面的数字放到最下面,依次循环,直到只剩一个数字即可。思路:利用队列先进先出的思想,将数字存入队列,然后进行模拟即可。实现:将队列头弹出进令一个队列中,再把队头重新进入队中#include<iostream>#include<queue>using namespace std;int main(){ queue<int>原创 2021-08-22 21:11:31 · 171 阅读 · 0 评论 -
CodeForces - 4C Registration system(map水题)
CodeForces - 4C Registration system没有出现过的字符串输出OK,出现过的输出字符串和出现的次数#include<iostream>#include<map>using namespace std;map<string,int>x;int main(){ int n; string s; cin>>n; while(n--) { cin>>s;原创 2021-08-17 13:12:48 · 169 阅读 · 0 评论 -
POJ - 2559 Largest Rectangle in a Histogram(单调栈)
POJ - 2559 Largest Rectangle in a Histogram首先考虑暴力做法,以每个矩形的高度为准,向两边扩展,直到遇到比它矮的为止如图所示,记录每个矩形向两侧扩展的边界[l,r]它扩展出的矩形面积为 s=(r−l+1)∗h最优解会在这些扩展出的矩形中产生。时间复杂度 O(n^2)每个矩形向两侧扩展的最大宽度为矩形个数 n,共进行 n 次这样的操作单调栈优化在计算每个矩形可以扩展的左边界时,可以发现有一些矩形是可以不考虑的如图所示,由于2号矩形的存在,在计算原创 2021-08-16 16:22:38 · 87 阅读 · 0 评论 -
POJ - 2503 Babelfish(map)
POJ - 2503 Babelfish直接用cin,cout时间超限,用一个加速器,就可以水过去。#include<iostream>#include<map>using namespace std;int main() { ios::sync_with_stdio(false);//c++加速器 string s,a,b; map<string,string>x; while(getline(cin,s)) { int l=s.siz原创 2021-08-16 16:12:01 · 151 阅读 · 0 评论 -
HDU - 1251 统计难题(map)
HDU - 4585 Shaolin解题思路:用分割法将前缀用map存起来,然后输出即可#include<iostream>#include<map>using namespace std;map<string,int>x;int main(){ string s;char c; while(1) { c=getchar(); if(c=='\n') { c=g原创 2021-08-16 16:06:25 · 153 阅读 · 0 评论 -
HDU - 1263 水果(map)
HDU - 1263 水果#include<iostream>#include<map>using namespace std;map<string,map<string,int>>x;map<string,map<string,int>>::iterator it;map<string,int>::iterator jt;int main(){ int t,n,c;string a,b; cin>原创 2021-08-16 16:02:18 · 184 阅读 · 0 评论 -
HDU - 1004 Let the Balloon Rise(map)
HDU - 1004 Let the Balloon Rise#include<iostream>#include<map> using namespace std;map<string,int>a; int main(){ int n;string s1,s2; while(cin>>n&&n) { a.clear(); int maxn=-1; while(n--) { cin>>s1;原创 2021-08-16 16:00:43 · 108 阅读 · 0 评论