团体程序设计天梯赛
郭晋龙
压力面前保持优雅
展开
-
团体程序设计天梯赛(L3-018 森森美图 (30 分))
题目:思路分析:一个bfs搜索的题目:看代码就行!代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ * . . ~~//.原创 2021-11-13 16:22:36 · 287 阅读 · 0 评论 -
团体程序设计天梯赛(L3-017 森森快递 (30 分))
题目:思路分析:结合贪心的想法(区间覆盖问题 就是让右端点从小到大排序就行就是一个区间查询最小值问题 然后每次查询减去对应区间的最小值(线段树就行代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___原创 2021-11-11 21:10:30 · 305 阅读 · 0 评论 -
团体程序设计天梯赛(L3-016 二叉搜索树的结构 (30 分))
题目:思路分析:拿数组建树 但是n最大100 只能拿27分建议别建立标准的二叉树 可以借助lson rson 的数组来存这条思路有时间写!代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ .原创 2021-11-11 13:45:15 · 136 阅读 · 0 评论 -
团体程序设计天梯赛(L3-015 球队“食物链” (30 分))
题目:思路分析:一个dfs+剪枝的题目:直接用stl中的全排只能拿16分代码实现:const int MAX=101;int n;int ans[MAX];int vis[MAX];int vs[MAX][MAX];int flag=0;int dfs(int pos,int num){ if(pos>n){ if(vs[ans[pos-1]][ans[1]]==1){ flag=1; .原创 2021-11-11 12:36:37 · 203 阅读 · 0 评论 -
团体程序设计天梯赛(L3-014 周游世界 (30 分))
题目:思路分析:最开始以为要建分层图可是一看数据范围dfs暴力也可以呀就是最短路+路径存储的题目当然dijsktra也行!代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ * .原创 2021-11-11 01:46:24 · 286 阅读 · 0 评论 -
团体程序设计天梯赛(L3-013 非常弹的球 (30 分))
题目:思路分析:假设角度为 θ,进行速度分解得水平方向速度为vcosθ,竖直方向为vsinθ,在竖直方向上求得上升到最高点的时间为v*sinθ/g(运动学公式v=g*t),水平方向的距离s=vcosθ*t=v*v*sin(2*θ)/(2*g),当θ为45度是sin2θ取最大值1,为最远距离:s=v*v/(2*g)(这个为1次上升到最高点的最远路程,一次循环要乘上个2),然后随之模拟就可以了。或者简单化简一下公式:一次循环最多跑v*v/g,而由Ek=m*v*v/2,得v*v=2*E.原创 2021-11-10 21:21:36 · 244 阅读 · 0 评论 -
团体程序设计天梯赛(L3-011 直捣黄龙 (30 分))
题目:思路分析:一个多条件的最短路模型(魔改dij就行多几个限制条件而已发现pta上面都是dij的模型 来几个堆优化的题目也算呀!代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ * .原创 2021-11-10 18:39:38 · 319 阅读 · 1 评论 -
团体程序设计天体赛(L3-010 是否完全二叉搜索树 (30 分))
题目:思路分析:可以通过数组来模拟建树过程也可以‘真实‘建树判断是否为完全二叉树 只需要判断点的个数是否==n代码实现:const int MAX=1000010;struct node{ node *l,*r; int data;};int n;node *insert(node *root,int x){ if(root==NULL){ root=new node; root->data=x;原创 2021-11-10 09:22:20 · 78 阅读 · 0 评论 -
团体程序设计天梯赛(L3-008 喊山 (30 分))
题目:思路分析:读懂题目就是一个求最短dijsktra+最长路的模型代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ * .原创 2021-11-09 20:31:11 · 126 阅读 · 0 评论 -
团体程序设计天梯赛(L3-007 天梯地图 (30 分))
题目:思路分析:一个最短路的题目 不过是多个多个关键字同时要约束其他条件注意细节(这道题花了2个小时!fwfwfw代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ * .原创 2021-11-09 19:47:33 · 157 阅读 · 0 评论 -
团体程序设计天梯赛(L3-005 垃圾箱分布 (30 分))
题目:思路分析:枚举垃圾桶多次dij来求到垃圾桶的最短距离代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ * . .原创 2021-11-09 14:38:22 · 134 阅读 · 0 评论 -
团体程序设计天梯赛(L3-004 肿瘤诊断 (30 分))
题目:思路分析:一道简单的图的连通块搜索题目推荐bfs dfs容易段错误代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ * .原创 2021-11-08 22:07:20 · 88 阅读 · 0 评论 -
团体程序设计天梯赛(L3-003 社交集群 (30 分))
题目:思路分析:一个简单的并查集模版题吧!代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ * . . ~~//====.原创 2021-11-08 19:36:38 · 77 阅读 · 0 评论 -
团体程序设计天梯赛(L3-002 特殊堆栈 (30 分))
题目:思路分析:就是在栈的基础上加一个寻找第k大元素的一个功能1.树状数组实现树状数组储存的是每个数出现的次数 然后二分查询第k个数首次出现的地方2.线段树实现代码实现:树状数组/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~.原创 2021-11-07 22:18:22 · 3173 阅读 · 0 评论 -
牛客月赛40(解题报告)
目录A-数字游戏题目:思路分析:代码实现:B-跳跳跳题目:思路分析:代码实现:C-数字匹配题目:思路分析:代码实现:D-优美的字符串题目:思路分析:代码实现:E-分组题目:思路分析:代码实现:F-过桥题目:思路分析:代码实现:G-空调遥控题目:思路分析:代码实现:I- 体操队形题目:思路分析:代码实现:A-数字游戏题目:思路分析:这道题好玄学!(原..原创 2021-11-06 19:31:37 · 260 阅读 · 0 评论 -
团体程序设计天梯赛-练习集 L3 答案(全部题解 更新中
标号 题目名称 分数 通过率 算法标签 题解链接 L3-001 凑零钱 30 0.29 01背包+路径打印/dfs搜索 AC L3-002 特殊堆栈 30 0.35 AC L3-003 社交集群 30 0.44 AC L3-004 肿瘤诊断 30 0.3 AC L3-005 垃圾箱分布 30原创 2021-11-05 15:49:56 · 1035 阅读 · 0 评论 -
团体程序设计天梯赛(L3-001 凑零钱 (30 分))
题目:思路分析:思路1:dfs暴力搜索+路径记录思路2:01背包+路路径记录代码实现:思路1:const int MAX=1e4+5;int n,m;int flag;int a[MAX];int pos;int b[MAX];void dfs(int u,int s){ if(s>m||flag)return; if(s==m){ flag=1; for(int i=1;i<=pos;i++){.原创 2021-11-05 15:49:03 · 396 阅读 · 0 评论 -
团体程序设计天梯赛(L2-020 功夫传人 (25 分))
题目:思路分析:一个dfs遍历搜索的题目暴力就行但是只拿了24分 不知道哪里有瑕疵!(望大佬指出代码实现:const int MAX=100100;vector<int>v[MAX];int t[MAX];int n;double k,z;double ans;double val[MAX];void dfs(int u){ if(t[u]) ans+=val[u]; for(int i=0;i<v[u].size();i++..原创 2021-11-05 12:37:58 · 150 阅读 · 0 评论 -
团体程序设计天梯赛(L2-040 哲哲打游戏 (25 分))
题目:思路分析:简单的模拟题!代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ * . . ~~//====.......原创 2021-11-05 12:12:59 · 2325 阅读 · 0 评论 -
团体程序设计天梯赛(L2-039 清点代码库 (25 分))
题目:思路分析:简单的结构体排序+STL的set map 的运用代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ * . .原创 2021-11-04 22:46:56 · 246 阅读 · 0 评论 -
团体程序设计天梯赛(L2-038 病毒溯源 (25 分))
题目:思路分析:一个简单的dfs搜索的题目+路径记录要字典序列最小那么在插入时候进行排序 第一次dfs搜索到的最长路径就是答案了!代码实现:const int MAX=1e4+10;vector<int>v[MAX];int n;vector<int>ans;void dfs(int pos,vector<int>&p){ if(ans.size()<p.size()){ ans.clear.原创 2021-11-04 22:01:28 · 505 阅读 · 0 评论 -
团体程序设计天梯赛(L2-037 包装机 (25 分))
题目:思路分析:简单的栈和队列的模拟!第一个代码不知道哪里错了 只有20分 附上 希望有人帮忙发现(感谢大佬们!代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ * ..原创 2021-11-04 21:33:01 · 413 阅读 · 0 评论 -
团体程序设计天梯赛-练习集 L2 阶段全部题解(c/c++版本)
标号 标题 分数 提交通过率 L2-001 紧急救援 25 7808/32856 (23.76%) L2-002 链表去重 25 6263/24874 (25.18%) L2-003 月饼 25 6588/24235 (27.18%) L2-004 这是二叉搜索树吗? 25 4559/13550 (33.65%) L2-005...原创 2021-11-04 16:37:14 · 1891 阅读 · 0 评论 -
团体程序设计天梯赛(L2-036 网红点打卡攻略 (25 分))
题目:思路分析:这道题踩了一堆坑 30min调bug才满分!1.用set检验是否每个只过去一次 不能直接判断是否==n 可能去过多次2.发现不符合题意我直接就continue了!致命伤代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __-.原创 2021-11-04 15:57:42 · 470 阅读 · 0 评论 -
团体程序设计天梯赛(L2-035 完全二叉树的层序遍历 (25 分))
题目:思路分析:完全二叉树的构造性质代码实现:const int MAX=100101;int n;int a[MAX];int b[MAX];int num;void dfs(int pos){ if(pos>n) return; dfs(pos<<1); dfs(pos<<1|1); b[pos]=a[++num];}int main(){ cin>>n; for(int .原创 2021-11-04 14:35:43 · 302 阅读 · 0 评论 -
团体程序设计天梯赛(L2-034 口罩发放 (25 分))
题目:思路分析:一个模拟题:按照题意模拟就行这里下面代码只拿了21分 不知道哪里丢分(有时间回来看!代码实现:/**@Author: GuoJinlong*@Language: C++*///#include <bits/stdc++.h>/* * __----~~~~~~~~~~~------___ *原创 2021-11-04 14:05:24 · 505 阅读 · 0 评论 -
团体程序设计天梯赛(L2-033 简单计算器 (25 分))
题目:思路分析:栈的简单模拟代码实现:int main(){ int n; cin >> n; stack<int> st; stack<char> op; int num; char c; for(int i = 0; i < n; i++){ cin >> num; st.push(num); } for(int i =.原创 2021-11-03 21:09:37 · 455 阅读 · 0 评论 -
团体程序设计天梯赛(L2-032 彩虹瓶 (25 分))
题目:思路分析:就是一个简单的栈模拟!代码实现:const int MAX=100100;int main(){ int n,m,k; cin>>n>>m>>k; while (k--) { int next=1; stack<int>st; int flag=1; for(int i=1;i<=n;i++){ i.原创 2021-11-03 20:17:33 · 309 阅读 · 0 评论 -
团体程序设计天梯赛(L2-031 深入虎穴 (25 分))
题目:思路分析:注意一下起点不是1(第一次误认为起点是1 只拿了18分憨憨了!)广搜和深搜都行!代码实现:const int MAX=1000010;vector<int >v[MAX];int vis[MAX];int ans;int ans1;void dfs(int pos,int cnt){ if(cnt>ans){ ans=cnt; ans1=pos; } for(int i=0;i.原创 2021-11-03 13:16:25 · 429 阅读 · 0 评论 -
团体程序设计天梯赛(L2-029 特立独行的幸福 (25 分))
题目:思路分析:一个简单的模拟题!vis用于记录该数字是否在判定其他数字为幸福数时出现然后 set用于防治陷入到循环中代码实现:const int MAX=100100;int vis[MAX];int ans[MAX];int ch(int x){ for(int i=2;i*i<=x;i++){ if(x%i==0){ return 0; } } return 1;}se原创 2021-11-02 12:10:08 · 319 阅读 · 0 评论 -
团体程序设计天梯赛(L2-027 名人堂与代金券 (25 分))
题目:思路分析:结构体实现排序代码实现:struct person{ int pai,cj; char name[20]; }a[20100];bool cmp(person p1,person p2){ if(p1.cj != p2.cj) return p1.cj > p2.cj; if(strcmp(p1.name,p2.name)>0) return false; else return true;}int.原创 2021-11-01 21:49:39 · 271 阅读 · 0 评论 -
团体程序设计天梯赛(L2-026 小字辈 (25 分))
题目:思路分析:就是一个深度搜索的题目 拿邻接表来存树代码实现:const int MAX=100010;vector<int>v[MAX];vector<int>vv;int ans;void dfs(int pos,int d){ if(d>ans){ ans=d; vv.clear(); } if(d==ans){ vv.push_back(pos); .原创 2021-11-01 21:04:22 · 294 阅读 · 0 评论 -
团体程序设计天梯赛(L2-025 分而治之 (25 分))
题目:思路分析:就是每拆一个城市就标记一下然后遍历每一条边 检查是否有二个城市仍然连通代码实现:原创 2021-11-01 20:39:45 · 275 阅读 · 0 评论 -
团体程序设计天梯赛(L2-024 部落 (25 分))
题目:思路分析:标准的并查集模版题!自己看吧!代码实现:const int MAX=100010;int fa[MAX];int vis[MAX];int vis1[MAX];int find(int x){ if(x==fa[x]) return x; return fa[x]=find(fa[x]);}void add(int x,int y){ int xx=find(x); int yy=find(y); if(xx==.原创 2021-11-01 18:56:29 · 302 阅读 · 0 评论 -
团体程序设计天梯赛(L2-023 图着色问题 (25 分))
题目:思路分析:就是遍历邻接表而已1. dfs遍历 (有环 所有要限制次数足够大就行!2.枚举顶点遍历代码实现:const int MAX=100010;int V,E,K;int co[MAX];vector<int>v[MAX];int flag;//void check(int pos,int now){// if(now>K*4) return;// for(int i=0;i<v[pos].size();...原创 2021-11-01 18:23:37 · 301 阅读 · 0 评论 -
团体程序设计天梯赛(L2-022 重排链表 (25 分))
题目:思路分析:模拟就行:先拿结构体存列表的关系然后依次放入vector容器中 模拟列表然后左右二个指针依次遍历输出就行代码实现:const int N=1e5+10;struct LNode{ int key,next,ad;}node[N];int main(){ int L,n; vector<LNode> v; cin>>L>>n; for(int i=0; i<n; i+.原创 2021-11-01 17:57:32 · 287 阅读 · 0 评论 -
团体程序设计天梯赛(L2-021 点赞狂魔 (25 分))
题目:思路分析:模拟就行!代码实现:map<int,int> mp;struct node{ int num; double avg; string s;}p[105];bool cmp(node a,node b){ if(a.num!=b.num) return a.num>b.num; else return a.avg<b.avg;}int main() { int n,k,x; s.原创 2021-11-01 13:21:27 · 340 阅读 · 0 评论 -
团体程序设计天梯赛(L2-019 悄悄关注 (25 分))
题目:思路分析:一个模拟题!二个cmp 一个是数字大小!一个是string的大小!代码实现:const int MAX=10010;struct node{ string s; double val; int is;}e[MAX];bool cmp(node a,node b){ return a.val>b.val;}bool cmp1(node a,node b){ return a.s<b.s;}map&.原创 2021-10-31 16:03:36 · 282 阅读 · 0 评论 -
团体程序设计天梯赛(L2-017 人以群分 (25 分))
题目:思路分析:没什么好说的!就是简单的排序 如果是偶数直接对半反之放到活跃的一边!代码实现:const int N = 100005;int n, ans[N];int main(){ cin >> n; for(int i = 0; i < n; i ++) cin >> ans[i]; int in, ou; in = ou = 0; sort(ans, ans + n).原创 2021-10-30 22:44:28 · 330 阅读 · 0 评论 -
团体程序设计天梯赛(L2-016 愿天下有情人都是失散多年的兄妹 (25 分))
题目:思路分析:注意 在输入父母的同时 要标记父母的性别(我忘了!!!我是fw)然后直接以二个节点搜索五层 如果有一个被访问过了那么就有近亲!dfs搜索就行代码实现:const int MAX=100010;int vis[MAX];vector<int>v[MAX];string sex[MAX];int flag;void dfs(int pos,int c){ if(c>=4) return; for(int i=0;i&.原创 2021-10-30 17:09:05 · 361 阅读 · 0 评论