天梯赛
想出成果的acmer
当你越来越漂亮的时候,自然有人关注你,当你越来越有能力时,自然会有人看得起你,改变自己,你才有自信,梦想会慢慢的实现,要做好你自己,懒惰可以毁掉一个人,勤奋可以激发一个人,不要等到夕阳西下的时候才对自己说如果当初…如果…我就会怎么样,之类的话,都已经晚了,我只想告诉你一句话:要做一个连自己都羡慕的人!
展开
-
2022团体程序设计天梯赛题解 L2
题目感觉今年L2有点难,难在题目描述,题目描述的云里雾里的比题目本身难得多。2-3我确实没想出来,确实菜,不过想出来也拿不了国二,太菜啦,抓紧remake叭。L2-1题意: 题意很烦。给定一个栈,栈容量为m;一个数组,长度为n;需要填进若干个队列里,每个队列最大容量为k。按照什么规则呢?如果栈不为空,就从栈顶取,如果栈的元素不满足条件,就从数组取,如果数组的元素还不满足条件,就把他放入栈,如果栈已满,则不入栈,改为判断下一个队列。如果栈为空,从数组取。如果满足条件,则放入当前队列;否则,将数组元素压原创 2022-04-26 14:47:27 · 391 阅读 · 0 评论 -
2022团体程序设计天梯赛题解 L1
题目L1都很简单,今年也没有什么坑点,就是第三题if else有点麻烦。L1-1printfL1-2输出a/bL1-3模拟,比较麻烦,不知道怎么写比较简单.#include<iostream>#include<cstdio>#include<algorithm>#include<complex>#include<cstring>#include<cmath>#include<vector>#in原创 2022-04-26 14:28:32 · 1370 阅读 · 0 评论 -
程序设计天梯赛 L1-49 天梯赛分配座位(模拟),布响丸辣
题目题意: 略。思路: 麻了,已经没有脑子了。不换行,会发现是一个矩阵赋值问题,100100的,要特判最后只有一个学校的情况。时间复杂度: O(100100)代码:#include<bits/stdc++.h>using namespace std;const int N = 102;int n,m,k,T;int s[N][N];int a[N],b[N];int mx = 0;void solve(){ cin>>n; for(int i=0;i&l原创 2022-04-22 22:30:19 · 171 阅读 · 0 评论 -
程序设计天梯赛L3-29 还原文件 (原来是字符串哈希优化dfs)
题目题意: 略。思路: 用字符串哈希优化dfs。时间复杂度: O(能过)代码:#include<bits/stdc++.h>using namespace std;typedef unsigned long long ull;const int N = 1e5+10;const int P = 131;int a[N];vector<int> va[102],v,res;bool vis[N];bool flag = 0;int n,m,k,T;ull原创 2022-04-21 16:37:00 · 143 阅读 · 0 评论 -
程序设计天梯赛L2-007 家庭房产(太逆天了,做题老看题解导致忘了这题并查集怎么写了,直接建图dfs做的,麻烦的一)
题目题意: 略。经典排序题。思路: 用了超笨的方法,建图dfs用并查集合并,最后排序输出。时间复杂度: O(能过)代码:#include<bits/stdc++.h>using namespace std;const int N = 1e5+10;const int M = 9999;int n,m,k,T;struct node{ int id = 77777; //编号 int num = 1; //人数 double tot; //房产数 d原创 2022-04-21 15:46:46 · 634 阅读 · 0 评论 -
程序设计天梯赛L3-29 还原文件(dfs就过了,离离原上谱)
题目题意: 给定n个数,m个数字序列,以何种顺序可以由m个数字序列拼接成n个数。这里的拼接也有点怪,是{1 2 3}{3 2 2},前一个序列的最后一项和下一个序列的第一项要相同,重复出现,才能拼接。题目保证存在唯一解。(n<=1e5,m<=100)思路: 不会,直接dfs爆搜,然后过了,离谱,只能说数据太水了。去年我为什么摆烂不做,今年就不用努力了。时间复杂度: O(能过)代码:#include<bits/stdc++.h>using namespace std;co原创 2022-04-21 11:01:19 · 161 阅读 · 0 评论 -
程序设计天梯赛L3-28 森森旅游(想到multiset就算成功)
题目题意: 给定n个点m条边的有向图,有两种边权,一种是现金,另一种是旅游金。可以在任意一点将现金转换成旅游金,但是之后走的路只能用旅游金,即第二种边权。每个点有自己的汇率,即1现金能换多少旅游金。有q次询问,每次询问将某个城市的汇率改变,改变是永久的,在线处理,求改变后1到n至少需要多少现金。保证有1到n的路径,可能存在重边或者自环。思路: 思路倒也好想,求1到u的最短路,再求u到n的第二种边权的最短路,第二种边权的最短路建反边从n跑一下即可。之后注意要用multiset存下在所有点换现金的最小花费,原创 2022-04-21 10:56:39 · 279 阅读 · 0 评论 -
程序设计天梯赛L3-20 至多删三个字符(dp,一生之敌)
题目题意: 给定一个全部由小写英文字母组成的字符串,允许你至多删掉其中 3 个字符,结果可能有多少种不同的字符串?(|S|<=1e6)思路: 可以暴力水分,pta数据比较水,用set把所有删除的串扔进去。但是字符串很长会T,而且就算不T,set放的串多了会爆。正解自然是dp.f[i][j]:前i个字符删j个的方案数。f[i][j] = f[i-1][j],不删.f[i][j] += f[i-1][j-1],删.但是这样必定有重复计算的字符串。所以要去重。看了半天题解也没太看懂,简单原创 2022-04-20 22:16:01 · 438 阅读 · 0 评论 -
程序设计天梯赛L3-6 迎风一刀斩 (计算几何找规律)
题目可以看这两位大佬的题解研究一下连接连接题意: 有一个各边都平行于坐标轴的矩形(不知道大小),给定两个k边形,判断能否由这两个k边形组成这个矩形。这两个k边形可能在原始位置的基础上进行了平移、旋转90度、180度、270度,或者镜像翻转。思路: 找规律。1.矩形切开有5种情况,不满足这五种情况的寄。2.满足5种情况的前提下,观察发现,每个k边形需要满足有恰好k-2个直角。另:如果切开成两个矩形要特判,因为各自4个直角。3.需要满足两个k边形至多有一条边不平行于坐标轴。4.两个k边形至少保原创 2022-04-20 18:53:53 · 737 阅读 · 0 评论 -
天梯赛自主练习8 (全是原题,都不想做了,老是做水题会麻痹自己的)
题目17年的,5年前的,确实相对简单些,现在打有可能能摸到国一,不过最后一题dfs爆搜估计骗的分不够用。第二题线段树大概率也想不到。注意数据边界!阅览室这题又又又WA了,忘了考虑0h0min的情况。map要养成一个好习惯,用mp.find(key) == mp.end()判断对应key是否存在value,否则就会存在BST那个题出现的问题,输入为负数、正数皆有,有可能map对应的值是输入中不存在的,这时直接用mp[key]判断就不是很好,养成好习惯。...原创 2022-04-19 21:43:50 · 119 阅读 · 0 评论 -
程序设计天梯赛L1-64
题目题意: 给定一个字符串,执行若干条处理。思路: 模拟,我感觉很麻烦,也可能我写麻烦了。时间复杂度: O(n)代码:#include<bits/stdc++.h>using namespace std;const int N = 1e5+10;int n,m,k,T;int vis[N];string t,s;bool check(int i){ if(i<0||i>s.size()) return 1; if(!isdigit(s[i])&&a原创 2022-04-19 16:00:44 · 102 阅读 · 0 评论 -
天梯赛自主练习7 (19年决赛真题,这题感觉有点恶心,而且我打19年90%连200分都打不到,我是菜菜)
题目感觉这题拿国二难度很大啊,要不是我做过这个L3-1,我这把都拿不了。可能是模型建立能力不太够叭。L1-8也很恶心,敲了半天。冰岛人那个我着实没想到那个情况。到点了,润了,明天再补题。题意:思路:时间复杂度:代码:...原创 2022-04-19 15:57:23 · 188 阅读 · 0 评论 -
程序设计天梯赛L3-18 (什么分支限界bfs)
题目题意: 给定二维矩阵,起点st和终点ed。st和ed所在的直线将整个矩阵分割成两个部分,要求找到两条从st到ed的路线,一条只在矩阵的左半部分,另一条只在矩阵的右半部分,并且这两条路线的贡献要尽可能地小。贡献我感觉说有点迷,主要是举的例子把我误导了,我的理解能力不是很行。我看了题解才明白题目说的啥意思。他表达的是路线的贡献是每个点的权值之和,再加上所有斜着走的边连接的两点的权值和乘以 (根号2-1)思路: dfs只能过一个点,还会T。可以采用分支限界法,简单来说是bfs时采用优先队列。用队列的话显然原创 2022-04-18 18:50:55 · 604 阅读 · 4 评论 -
程序设计天梯赛L2-11 (给定树的前序和中序,求层次遍历)
题目题意: RT.思路: 用指针写,C++的指针还比C语言好写一点。这个是通用写法,如果权值各不相同直接用map维护就好了。时间复杂度: O(n)代码:#include<bits/stdc++.h>using namespace std;int n,m,k,T;const int N = 1e5+10;struct node{ int x; node*l; node*r;};node* newnode(int x){ node *tmp = new node;原创 2022-04-18 10:12:58 · 111 阅读 · 0 评论 -
程序设计天梯赛L2-007 (家庭房产,并查集+排序)
题目题意: 给定n个人的编号、父母的编号、孩子的编号、他拥有的房产数量、房产面积,按人均房产面积降序、如有并列按编号升序的形式输出每个家庭的相关信息。思路: 经典的pta题目,很麻烦。用并查集维护每个人属于哪个家庭。有一个好写法就是最后输入完成后,将每个点的信息统一更新到他所在树上的根节点上,最后排序输出即可。时间复杂度: O(nlogn)代码:#include<bits/stdc++.h>using namespace std;const int N = 1e5+10;int原创 2022-04-18 09:59:47 · 494 阅读 · 1 评论 -
天梯赛自主练习6补题 (20年模拟赛,人已经麻了)
题目这个l2-4题也太离谱了,感觉太恶心人了。也可能是我学艺不精。l1-7 谷歌的招聘。坑点: 要用n-k而不是s.size()-k,我感觉很不能理解,n是给定的字符串长度,但是题干说的就是给定长度为n的字符串啊,这怎么能wa,我理解不了。l2-4秀恩爱,分得快题意: 给定n个人,编号0-n-1,如果一个数是负数代表是女,否则代表男。有m个照片,在照片中任意两个异性之间的亲密度会+1/k,k为照片中有几个人。给定st和ed,如果他俩是彼此亲密度最高的异性(或之一),输出他俩,否则依次输出二者所有原创 2022-04-17 21:45:04 · 249 阅读 · 0 评论 -
2022天梯赛热身赛 浪漫侧影(什么原题)
题意: 给定一棵二叉树的中序和后序遍历,求左视图和右视图。意思是求每一层的第一个节点和最后一个节点,层次遍历就行了。套皮题。思路:1.我的笨法,由于每个数的值不一样,直接建的树,之后bfs即可,写的有点麻烦了,应该用深度的,写成2^i对应位置了,因为n才20.2.大佬的妙法,直接根据中序和后序跑前序。因为根左右不就是层次遍历嘛,连树都不用建。时间复杂度: O(能过)代码:#include<bits/stdc++.h>using namespace std;typedef long原创 2022-04-17 17:20:28 · 1404 阅读 · 3 评论 -
程序设计天梯赛L2-018 多项式A/B(什么模拟)
题目题意: 给定两个多项式A和B,输出A/B的结果.思路: 战胜自己失败,还是偷偷瞄了题解.建议remake.其实仔细想想也能做出来,依次从mx1到mx2枚举,除以多项式B,用A减去得到的系数B.mx1是A的最高指数,mx2是B的最高指数.当枚举的指数<mx2,那肯定没法除了,只能商0.除此之外模拟除完再减即可.这样A的最高指数小的情况也会涵盖到.最后要保留一位小数,如果保留完以后是0,就不要输出.这里特判一下是不是绝对值>=0.05,如果大于的话,就会进位.我用0.1判的也没事,原创 2022-04-17 11:11:31 · 245 阅读 · 0 评论 -
天梯赛自主练习5补题 (17年大区赛)
题目l2-4功夫传人题意: 给定以1为根的有向树,根节点的点权为Z,每传给子节点,就减少r%,该子节点是叶子节点,叶子节点会翻a[i]倍。思路: 感觉这个题意有点迷,题干说没传一代就减弱r%,除非遇到叶子,就说明叶子不该减弱r%。但是这样连样例都过不了,好怪。建完图dfs求和即可。!又忘了特判,如果n==1我又没特判,wa了一分。时间复杂度: O(n)代码:#include<bits/stdc++.h>using namespace std;typedef long lon原创 2022-04-17 10:18:30 · 240 阅读 · 0 评论 -
天梯赛自主练习4补题 (如果20年去打有机会拿国二吧,国一不太可能,最后俩题都好难啊)
题目l2-4网红打卡攻略题意: 略。思路: 按给定的序列模拟一下即可,如果某个点出现次数不为1,说明不符合条件,或者中间存在点不可达。忘了把不符合条件的情况设为INF,wa了半天。时间复杂度: O(k*n)代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int,int> PII;const int N = 502;#define int long l原创 2022-04-16 18:52:14 · 315 阅读 · 0 评论 -
程序设计天梯赛L3-12 (思维+枚举)
题目题意: 给定n个线段,找到一条直线,可以一刀斩所有线段。(经过每个线段内一点,端点也可以)思路: 计算几何一如既往的不会,直接n^3暴力骗分,骗了25分,老骗子了。考虑一下正解。尽可能地输出整数坐标,可以输出线段对应的端点。 ①固定某个线段的下端点,以他为起点向其他n-1条线段的上下端点连线,计算斜率k1、k2。将k1、k2对应的斜率区间不停的缩小(其实是在取交集。) ②如果出现了k1、k2不在维护的斜率区间[min,max]内,说明为了能切到这条线段,前边维护的那些线段都无法切到,说明原创 2022-04-14 22:10:13 · 171 阅读 · 0 评论 -
天梯赛自主练习3补题 (16年决赛,我要是16年去打决赛就有机会国一了,不过现在22年,不能拿现在的水平和原来比)
题目这16年的确实简单啊,我都能达到250分了,羡慕16年。L2-1 红色警报题意: 给定n个点m条边,依次删除k个点。每删除一个点,根据删除后连通块是否增加决定输出什么,如果所有点都被删除,输出"Game Over".思路: 我想着是倒着操作,LCT我肯定不会,只能倒着连边。如果某个点连接的两个点不在一棵树上,说明删除该点时二者不连通了。但是wa了一个点,不知道为什么,上完课研究一下。题解用的方法很暴力,但是确实没问题,而且能保证正确性。没删除一个点重新建并查集,nnn,500^3,确实是个能过原创 2022-04-14 16:58:08 · 431 阅读 · 0 评论 -
天梯赛自主练习2补题 (21年模拟赛)
题目感觉有点摆了,前边的题都有做不明白的。最后L3三个题不是正常孩子做的啊,都是1-2个通过的,打暴力都没法打,模拟赛这么恐怖吗?拿不了国二咧,学不明白。L2-3 这是二叉搜索树吗?题意: 给定一个二叉树的前序遍历,判定是否为BST或者BST的镜像遍历。(>=的数放在右子树,而且可能有相同的数)如果是,输出对应的后序遍历,否则,输出NO。球球了,别给出二叉树的题,孩子真不会。思路: 如果没有相同的数,我觉得可以建树,但是有相同的数,不会咧。做法是由BST的性质,树根肯定是a[l],找到第原创 2022-04-13 22:18:32 · 575 阅读 · 0 评论 -
天梯赛自主练习1补题 (2016年初赛)
题目得分应该是240,早年的题确实好做。也带点运气成分1-4 帅到没朋友题意: 略。思路: 模拟即可,可以发现如果在数量>1的地方出现过,就不可能满足条件了。(我个憨憨写了并查集)。 注意: 输出要用%05d,前边补0,这个值5分。。。时间复杂度: O(input)代码:#include<bits/stdc++.h>using namespace std;typedef long long ll;typedef pair<int,int> PII;#原创 2022-04-12 21:48:30 · 140 阅读 · 0 评论 -
程序设计天梯赛L2-1 (pta经典最短路题目)
题目题意: 给定n个点、m条边的图,求从st到ed的最短路。记录最短路的路径,如果最短路不止一条,则记录点权和最大的那一条,题目保证该路径唯一。另,输出最短路路径的数量。思路: Dijkstra,额外维护几个数组即可。如果dist[j] > dist[u] + w, cnt[j] = cnt[u]. (因为j由u转移过来)如果dist[j] == dist[u] + w,cnt[j] += cnt[u] (因为j多了从u来的路)另外,相等时需要判断是否点权和更大,依此来更新。时间复杂度:原创 2022-04-11 10:31:54 · 220 阅读 · 0 评论 -
程序设计天梯赛L3-23 (编程题也求偏导数是吧)
题目题意: 给定一个有向无环图,有+、-、*、lnx、e的x、sinx六种操作。有若干个自变量。求到达终点的函数值以及每个变量对应的偏导数值。题目保证仅有一个终点。思路: 用一个数组存下每个编号为i的结点的信息,操作类型和左右结点。求函数值好求的,可以topsort,也可以递归。但是求偏导数我就不会咧,递归求确实好求。拿一个map<int,map<int,map<int,double> > >维护。因为要记忆化减少重复计算,否则T一个点。cur: 当前求哪个结点的值原创 2022-03-29 16:27:38 · 588 阅读 · 0 评论 -
2022年程序设计天梯赛选拔第一场 (什么原题选拔) 自主思考能力有待提高
全是天梯赛原题,因为最近练的多,做的如鱼得水。但是这种简单题做多了会产生自己很强的错觉,不能再刷了,明天做区域赛的题换换脑子,还能打击一波自己。一共有9分小分没拿到,L3-3连样例都过不了。L1-3 阅览室题目没考虑到借书还书之后可以再借,wa了一个点。代码:#include<bits/stdc++.h>using namespace std;const int N = 1002;#define mem(a,x) memset(a,x,sizeof(a))#define fir原创 2022-03-24 21:15:39 · 1348 阅读 · 0 评论 -
程序设计天梯赛选拔 大炮打蚊子(刷水题就变傻,确实,感觉自己变傻了)
题目题意: 大炮打蚊子,模拟。思路: 模拟时间复杂度: O(n*m+k)代码:#include<iostream>#include<cstdio>#include<algorithm>#include<complex>#include<cstring>#include<cmath>#include<vector>#include<map>#include<unordered_map原创 2022-03-22 21:49:54 · 154 阅读 · 0 评论 -
程序设计天梯赛2021年选拔赛L2-3 (什么大模拟+sort)
题目题意: 字符串输入输出统计,贼麻烦。思路: 模拟+sort时间复杂度: O(nlognlogn)时间复杂度好像写高了,map套set了,不过两个log也T不了,我就不信周老师会个10000*500个全a文章来卡我们大好青年,反正能骗分,虽然现在测不了了。代码:#include<bits/stdc++.h>using namespace std;#define mem(a,x) memset(a,x,sizeof(a))#define fir(i,a,b) for(int i=原创 2022-03-22 20:54:21 · 336 阅读 · 0 评论 -
程序设计天梯赛2021年选拔 L2-4红豆 (什么完全树给定后序遍历)
题目题意: 给定一棵n个节点的完全二叉树的后序遍历(不一定满足是2^k-1,但是只会在右边缺点。n<=60)。给定m组查询,对于给定点x。判断是否在书中。若在树中,则将以它为根的子树全部标记上,并输出本次操作中标记的叶子的数量。若已经被标记,则输出一句奇奇怪怪的话。最后输出所有未被标记的点形成的前序遍历。思路: 根据完全二叉树的特点建树即可,开个数组。递归的建树,先儿子,再根节点。时间复杂度: O(m*logn + n) 根据给定的值拿map映射到在树中的下标,反正n很小,无所胃。代码:#i原创 2022-03-22 19:36:01 · 578 阅读 · 0 评论 -
程序设计天梯赛 星际探险 (spfa求最短路)
题目题意: 题目很长,最后看了半天的意思就是有向图求最短路,保证没有负环。思路: spfa时间复杂度: O(n*m)代码:#include<bits/stdc++.h>using namespace std;#define mem(a,x) memset(a,x,sizeof(a))#define fir(i,a,b) for(int i=a;i<=b;++i)const int INF = 0x3f3f3f3f;const int N = 2002;int a[N原创 2022-03-18 21:59:30 · 258 阅读 · 0 评论 -
程序设计天梯赛 L2-002 (由后序和前序建树)
题目题意: 给定一颗树的后序遍历和中序遍历,求层次遍历。思路: 不会高端做法,先建树吧,递归建树。然后bfs一下就行。get(int l1,int r1,int l2,int r2) //表示后序和中序分别对应的区间树根是b[r1],在中序中找到他为idx,他的左右两侧分别是左子树和右子树。而对于后序来说,区间不太好找。首先根据中序计算左子树大小,len = idx-l2,那么后序左子树起点l1和长度确定了,[l1,l1+len-1],右子树则是[l1+len,r1-1].时间复杂度: O(原创 2022-03-18 21:40:46 · 294 阅读 · 0 评论 -
程序设计天梯赛 L1-009 (还久内个化简,说好的不爆ll呢?)
题目题意: 本题的要求很简单,就是求N个数字的和。麻烦的是,这些数字是以有理数分子/分母的形式给出的,你输出的和也必须是有理数的形式。(n<=100)思路: 直接暴力即可。但是要注意化简,分母不能直接全乘,用最小公倍数当分母,否则最后一个点会溢出。时间复杂度: O(n)代码:import java.util.Scanner;public class Main{ public static void main(String[]args) { Scanner in原创 2022-03-18 21:12:43 · 275 阅读 · 0 评论 -
程序设计天梯赛L3-25
题目题意: 给定n个点m条有向边,求从S到T有多少条不同的路径。并且判断是否以S为起点的路径均以T为结尾。思路: 刚开始以为是topsort,但是不对。因为会有其他点乱指,所以得dfs,记忆化搜索一下即可。时间复杂度: O(n)代码:#include<bits/stdc++.h>#define mem(a,x) memset(a,x,sizeof(a))using namespace std;const int N = 502;int n,m,k,T;int in[N];i原创 2022-03-03 22:43:23 · 72 阅读 · 0 评论 -
程序设计天梯赛L3-22 (小丑竟是我自己)
题目题意: 我一开始以为题意有问题,后来看了题解看了半天才看明白题意,小丑竟是我自己。n个点,m条线路,每条线路给出若干条边,费用变化为每走k便加1。给定T个询问,以T为起点可以到达多少个可以拍照的点。可以在费用相同的最远距离的点、线路端点处进行拍照。而且我们可以通过在多条线路中都出现的点在这些线路中切换。在起点处也能拍照。解释不太清楚,反正挺离谱。思路: floyd处理最短路,Dij应该也行。然后dfs求出所有满足条件的点。而且这个输入还卡了我一个段错误,换成while getchar就行了,属于是原创 2022-03-03 22:40:41 · 132 阅读 · 0 评论 -
程序设计天梯赛L3-21 (极角排序)
题目题意:思路:时间复杂度:代码:原创 2022-03-03 17:10:56 · 122 阅读 · 0 评论 -
程序设计天梯赛L3-17 (线段树板子都生疏了,打完比赛抓紧run去考研叭)
题目题意: 给定n个点,每两个相邻点之间有数的限制。现在,有q次询问。每次询问可以将区间[l+1,r]内的数 - 区间内最小值,然后ans + 此值。ans最大是多少。询问可以打乱顺序后处理。思路: 线段树维护最小值+tag区间更新即可。时间复杂度: O(nlogn)代码:#include<bits/stdc++.h>using namespace std;const int N = 1e5+10;#define int long longint n,m,k,T;int a[原创 2022-03-01 22:13:24 · 99 阅读 · 0 评论 -
程序设计天梯赛L3-16
题目题意: 给定n个互不相同的整数(可能为负数,题目处处有坑),要求按照输入顺序插入一棵初始为空的二叉搜索树。之后有6种判断,分别是判断根、siblings、左儿子、右儿子、是否同层的关系。思路: 可以真的建一颗树,但是也可以只用map维护相关信息进行建树,参考了一战南大大佬的code,tql.时间复杂度: O(nlogn + mnlogn) = O(能过)代码:#include<iostream>#include<cstdio>#include<algorith原创 2022-03-01 21:28:46 · 80 阅读 · 1 评论 -
程序设计天梯赛L3-15
题目题意: 给定n个球队,每个球队独立地和其他n-1个球队进行了比赛.求一个链,保证a[1]赢过a[2]、a[2]赢过a[3]…a[n]赢过a[1].(n <= 20)思路: dfs就完事了,需要剪枝才能拿到最后的8分。而且这个矩阵还不对称,1赢了5但是5那里也可能赢1,离谱。时间复杂度: O(能过)代码:#include<bits/stdc++.h>using namespace std;const int N = 22;#define fir(i,a,b) for(in原创 2022-02-28 22:03:52 · 125 阅读 · 0 评论 -
程序设计天梯赛L3-1
题目题意: 手里有个球,要往外抛,自行选择0到Π/2之间的角度扔。假设球只受重力影响,落地时是完全弹性碰撞,就很理想的。起始动能为1000,碰撞一次损失p%。输出小球最远落点与起点的距离。思路: 推推公式,发现角度选择Π/4即可,然后模拟。时间复杂度: O(能过)代码:#include<iostream>#include<cstdio>#include<algorithm>#include<complex>#include<cstrin原创 2022-02-28 21:13:26 · 204 阅读 · 0 评论