![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
天梯赛刷题
Sorakun.
这个作者很懒,什么都没留下…
展开
-
3月4日 天梯赛刷题笔记
L2-020 功夫传人 (25 分)分析:用DFS。把一个j写成了i,半天没看出来。。折磨死人。代码:#include <bits/stdc++.h>#include <vector>#include <cstdio>using namespace std;vector<vector<int> > v;//整个师门 int n,k;//总师门数 徒弟数 double z,r,result=0.0;//初始功率 减小倍率 b原创 2021-03-04 19:27:58 · 102 阅读 · 1 评论 -
3月3日 天梯赛刷题记录
L2-017 人以群分 (25 分)分析: 我好蠢 还一个一个的加, 直接排序 如果是偶数直接平分 如果是奇数 前一半是内向的 后一半是外向 的。#include <bits/stdc++.h>using namespace std;typedef long long ll;int main(){ int n; scanf("%d",&n); vector<ll> people; ll out=0; ll in=0; ll numout=0,nu原创 2021-03-03 23:53:28 · 93 阅读 · 1 评论 -
3月1日天梯赛刷题记录
L2-016 愿天下有情人都是失散多年的兄妹 (25 分)分析: BFS与set的应用。5代人 相当于BFS 5层,利用set 的性质 重复元素自动变没, 如果祖先里面有重复元素,那么set在插入前后的大小 不会变化 由此判断是否可以通婚。代码:#include<bits/stdc++.h>typedef long long ll;using namespace std;struct node{ int f,m,sex;//父母编号,性别 };node people原创 2021-03-02 00:17:15 · 162 阅读 · 0 评论 -
2月27日 天梯赛刷题笔记
L2-013 红色警报 (25 分)分析: 有没有改变连通性可以通过连通分量的个数来判断。占领后通过dfs再次计算连通分量的个数,如果比之前的个数+1(占领的那个城市本身就是一个连通分量 所以+1)还多,说明改变了连通性。代码:#include<bits/stdc++.h>#include <functional>typedef long long ll;using namespace std;int city[500][500]; bool visited[5原创 2021-02-27 17:59:38 · 61 阅读 · 0 评论 -
2月26日 天梯赛刷题笔记
L2-012 关于堆的判断 (25 分)分析: 这道题的关键在于,一定要边插入边建堆(不断向上交换)。(众所周知 同样的序列可能建立出来的堆不一样) 不然会爆测试点1和3代码:#include<bits/stdc++.h>#include <functional>typedef long long ll;using namespace std;vector<int> dui;void upAdjust(int i)//向上调整 { if(i==0原创 2021-02-27 00:04:47 · 103 阅读 · 0 评论 -
2月25日 天梯赛刷题记录
L2-009 抢红包 (25 分)分析: 很水的题,按照题目要求来搞就行代码:#include<bits/stdc++.h>typedef long long ll;using namespace std;struct node { int redbag=0; double income=0; int number; };bool cmp1(node a,node b){ if(a.income!=b.income) return a.income>原创 2021-02-25 18:35:28 · 67 阅读 · 0 评论 -
2月24日 天梯赛刷题记录
L2-007 家庭房产 (25 分)分析: 用并查集。始终以最小编号的成员作为根,写代码的时候弄了很多错误,像i<j写成j<i %敲成& 。。半天没发现 很耽误时间。代码:#include<bits/stdc++.h>typedef long long ll;using namespace std;struct DATA{ int id;//编号 int fid;//父亲编号 int mid;//母亲编号 int cid[10];//孩子编原创 2021-02-24 17:29:02 · 104 阅读 · 0 评论 -
2月23日 天梯赛刷题记录
L2-004 这是二叉搜索树吗? (25 分)分析: 一些区间边界有点晕 以后再看看代码:#include<bits/stdc++.h>typedef long long ll;using namespace std;bool isMirror;//是否镜像 vector<int> pre,post;//前序与后序序列void getpost(int root,int tail)//根到末尾下标{ if(root>tail) return;//如果原创 2021-02-23 13:16:43 · 81 阅读 · 0 评论 -
2月22日 天梯赛刷记录
L2-003 月饼 (25 分)分析: 贪心问题。用结构体存储月饼的编号和单价,利用cmp函数将月饼按单价高到低排序,优先将单价高的卖完,再卖较低的。注意 月饼量可能不够最大需求量(第3个测试点)。代码:#include<bits/stdc++.h>typedef long long ll;using namespace std;typedef struct{ double inv; double price; }cake; bool cmp(cake a,cake原创 2021-02-22 22:37:46 · 62 阅读 · 0 评论 -
2月21日 天梯赛刷题记录(L2开始)
L2-001 紧急救援 (25 分)分析: 一看就是迪杰斯特拉 求最短路径,但是还是有点晕,今晚就去看看,之前做作业的时候就是抄的网上的。除了求最短路径外,还要记录路径的条数,救援队的数量,当然 路径距离一样的情况下 肯定是优先走救援队最多的。每次找到最短路的时候 记录前驱,递归函数打印路径。代码:#include<bits/stdc++.h>typedef long long ll;using namespace std;int n,m,c1,c2;//N城市个数,M快速路原创 2021-02-21 16:14:04 · 92 阅读 · 0 评论 -
2月21 天梯赛刷题笔记(L1结束)
L1-071 前世档案 (20 分)分析: 利用完全二叉树的性质,一共有2的k次方减一个,最后一排有2的k减一次方个。所以目标就是,找到最后的结点是最后一排的第几个,对于这个二叉树来说,左孩子的编号是双亲的两倍,右孩子的编号是双亲的两倍加1。需要注意的是,因为有2^30这样巨大的数存在,所以要用longlong。代码:#include<bits/stdc++.h>typedef long long ll;using namespace std;int main(){ l原创 2021-02-21 10:35:51 · 123 阅读 · 0 评论 -
2月14日 天梯赛刷题记录
L1-056 猜数字 (20 分)分析: 我做的有点麻烦,用到了三个数组,分别存姓名,猜的数,差值。因为题目说只会有一个正确结果,所以可以弄一个string数组,下标是猜的数字,值是name,即使有重复也不会影响正确答案。代码:#include<bits/stdc++.h>typedef long long ll;using namespace std;int main(){ int n; cin>>n; vector<string> names原创 2021-02-14 14:17:43 · 61 阅读 · 0 评论 -
2月13 天梯赛刷题记录
L1-046 整除光棍 (20 分)分析: 模拟手算除法的过程 把余数进一位+1再算。。如果直接硬算的话 数字会特别特别大 导致超时 所以只能一步计算一步输出代码:#include<bits/stdc++.h>typedef long long ll;using namespace std;int main(){ ll length=1; ll x; cin>>x; ll i=1; while(i<x) {0 i=i*10+1;//直到数大于原创 2021-02-13 22:11:06 · 75 阅读 · 0 评论 -
1月30日天梯赛练习集刷题记录
1004 成绩排名题目描述:读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… … …第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。输出格式:对原创 2021-01-30 19:35:59 · 139 阅读 · 0 评论 -
1月25日天梯赛练习集刷题记录
1月25日天梯赛练习集刷题记录L1-006 连续因子一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3×5×6×7,其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N,要求编写程序求出最长连续因子的个数,并输出最小的连续因子序列。输入格式:输入在一行中给出一个正整数 N(1<N<231 )。输出格式:首先在第 1 行输出最长连续因子的个数;然后在第 2 行中按 因子1*因子2*……*因子k 的格式输出最小的连续因子序列,其中因原创 2021-01-25 12:28:41 · 267 阅读 · 0 评论