2020CCCC天梯赛补题记录

article/2025/7/2 0:09:17

目录

  • 总结
  • 补题
    • L2-035 完全二叉树的层序遍历 (25分)
    • L2-036 网红点打卡攻略 (25分)
    • L3-025 那就别担心了 (30分)
      • 28分版本:
      • 30分版本(记忆化搜索)

总结

1.口罩那题打完就只剩三十分钟了,之后卡在了完全二叉树的层序遍历那题,就没有再敢往后看,导致后面的网红打卡这道水题没做,去看前面的去了(某些丢了1、2分的这种题),刚刚补题发现网红打卡这题就是很水很水的题。
2.很影响发挥的因素是比赛时眼睛很酸,天梯赛那天从1个小时开始眼睛就基本上睁不开了,不能看屏幕。最近看两个小时屏幕眼睛就开始难受,其实我觉得这才是最重要的因素导致我没有打好。但毕竟把这个当作原因给教练说就像是小学生作业没写找借口一样,我就没有说,然后被批了。
3.据说,2021年3、4月份,CCCC就又来了,关于树的原理和知识一定要弄懂,下次要做到看到这类题很开心的水平,下次一定会翻盘。

补题

L2-035 完全二叉树的层序遍历 (25分)

题目链接
题意:中文题,请直接去原网站看。
在这里插入图片描述
注意a数组是我们输入的数组,也就是题目给出的后序遍历的数组。我们这里不妨先把每个节点的值设为它的编号便于理解。tree数组是按照编号还原了这棵树,也就是实现了根据后序遍历来建树的目的。(tree[1]的值就是1号节点的值)
如图,根据我们的递归函数build,第一个被还原的是8号节点,且我们记录一个cnt来辅助还原,那么a[1]就是tree[8]的值。之后,第二个被还原的是tree[4]的值,它的值是a[2]。可以看到,a数组根据它的后序遍历给出了每个节点的值,我们就用tree数组来还原了这颗树。就像上述的那样,tree[8]就是a[1],而a[1]本就应该是8号节点的值,那就对应上了。

int tree[33],a[33];
int cnt,n;void build(int id,int a[])
{if(id > n) return;build(id << 1,a);build(id << 1|1,a);tree[id] = a[++cnt];
}int main()
{cin >> n;rep(i,1,n) cin >> a[i];build(1,a);rep(i,1,n){cout << tree[i];if(i != n) cout << " ";}
}

L2-036 网红点打卡攻略 (25分)

题目链接
就是这道题,在我本来眼睛就很酸睁不开的时候给我来了这么一道贼长的水题。痛苦啊。
题意:请在上述链接看,中文题。
坑点只有一个,就是在它某个路线里面,可能num==n但是某个网红点打卡了多次,这样也是没满足要求的,这里用set去重判一下就满分了。
哦, 对了,n只有200,直接用邻接矩阵存图就行了。

const int N = 210;
int mp[N][N];int main()
{//freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);IOS;int n,m;cin >> n >> m;MEM(mp,-1);rep(i,1,m){int a,b,w;cin >> a >> b >> w;mp[a][b] = w;mp[b][a] = w;}int k;cin >> k;int ans = 0;int idx;int cost = INF;rep(o,1,k){int tcost = 0;int num;cin >> num;int t[210];set<int>pan;rep(i,1,num){cin >> t[i];pan.insert(t[i]);}if(num != n || pan.size() != n) continue;bool can = 1;rep(i,1,num-1){int c = mp[t[i]][t[i+1]];if(c == -1){can = 0;break;}tcost += mp[t[i]][t[i+1]];}int h1 = mp[0][t[1]], h2 = mp[t[num]][0];//    cout << "de: " << h2 << endl;if(h1 == -1 || h2 == -1)can = 0;if(!can) continue;tcost += (h1+h2);if(tcost < cost){cost = tcost;idx = o;}++ans;//    cout << "de: " << o << endl;}cout << ans << endl;cout << idx << " " << cost;
}

L3-025 那就别担心了 (30分)

题目链接
这题也是没看,实际上暴力搜索就能28分,拿满需要记忆化搜索。
思路:看代码,为什么else那里就能说一定不是逻辑自洽呢?因为如果连"所有的点收束到b"都满足不了,那么显然他们不可能收束到其他点,所以一定No。

28分版本:

const int N = 510;
int n,m;
vector<int>vec[510];
int a,b;
int cnt;
bool f = 1;
void dfs(int d)
{if(d == b){++cnt;return;}if(vec[d].size() != 0){for(auto i : vec[d]){dfs(i);}}else f = 0;
}int main()
{//freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);IOS;
//    int n,m;cin >> n >> m;while(m--){cin >> a >> b;vec[a].pb(b);}cin >> a >> b;dfs(a);cout << cnt << " " << (f == 0?"No":"Yes");
}

30分版本(记忆化搜索)

const int N = 510;
int n, m;
vector<int> vec[510];
int num[510]; //表示从idx这个点到目标点b的路径条数
int a, b;
int cnt;
bool f = 1;
void dfs(int d)
{num[d] = 0;//这里注意if (vec[d].size() != 0){for (auto i : vec[d]){if (num[i] == -1)//代表这个孩子还没有被算过,那就去算它dfs(i);num[d] += num[i];}}elsef = 0;
}int main()
{//freopen("in.txt","r",stdin);//freopen("out.txt","w",stdout);IOS;cin >> n >> m;MEM(num, -1);while (m--){cin >> a >> b;vec[a].pb(b);}cin >> a >> b;num[b] = 1;//这里初始化不要忘记!dfs(a);cout << num[a] << " " << (f == 0 ? "No" : "Yes");
}

http://chatgpt.dhexx.cn/article/82vDnsTv.shtml

相关文章

2021 CCCC天梯赛L1补题

前言 这次天梯赛表现没有达到预期&#xff0c;L1的分没有拿全&#xff0c;L2有2题没考虑完全&#xff0c;总之很愧疚拖了队友后腿。今天先补上L1没拿满分的题。 L1补题 前言L1-078 吉老师的回归输入样例1输出样例1输入样例2输出样例2 思路代码实现 L1-080 乘法口诀数列输入样例…

CCCC天梯赛 L2-037 包装机

CCCC天梯赛 L2-037 包装机 一种自动包装机的结构如图 1 所示。 首先机器中有 N 条轨道&#xff0c;放置了一些物品。 轨道下面有一个筐。 当某条轨道的按钮被按下时&#xff0c;活塞向左推动&#xff0c;将轨道尽头的一件物品推落筐中。 当 0 号按钮被按下时&#xff0c;机械手…

2022年CCCC天梯赛题解

L1-1今天我要赢 原题链接 代码 #include<bits/stdc.h> #define int long long #define rep(i, a, b) for(int ia;i<b;i) #define Rep(i, a, b) for(int ia;i>b;--i) using namespace std; const int N 10005; inline int read(){int s0,w1;char chgetchar();wh…

第八届cccc团体程序设计天梯赛——个人参赛总结——无代码纯粹的参赛总结

第八届cccc团体程序设计天梯赛——个人参赛总结——无代码纯粹的参赛总结 目录 第八届cccc团体程序设计天梯赛——个人参赛总结——无代码纯粹的参赛总结引言~介绍一下cccc天梯赛&#xff08;选读&#xff09;开篇介绍&#xff08;以下是个人经历部分的分享&#xff09;赛前准备…

怎样合理地营销推广App和吸引住大量的客户提高转化?

开发App进行后&#xff0c;一切应用软件都必须营销推广&#xff0c;尤其是在互联网技术收益消退的情况下&#xff0c;怎样合理地营销推广和吸引住大量的客户总流量早已变成很多互联网公司最关注的难题。 APP运用引流方法工作中看上去很繁杂&#xff0c;难度系数很大&#xff0…

APP在应用市场内该如何做推广

苹果应用商城的自然流量都是通过精品推荐&#xff0c;畅销排行榜和搜索来获取的&#xff0c;此外&#xff0c;应用名称、副标题、应用截图视频、应用描述、用户评论、下载量、用户留存率还有曝光量&#xff0c;这些都是影响ASO优化的关键因素。 为了防止一些应用堆砌热词&…

App推广拉新的6大方式,你都玩得转吗?

中国的互联网发展至今,除了App以外,公众号,小程序在微信生态中的独领风骚,快应用也像“太子”一样在11家国产手机厂商的簇拥下茁壮成长,而百度的百家号、头条的头条号、阿里的大鱼号也已经和微信开始“正面刚”。App这种古老的产品形态,正受到市场的不断冲击。 根据Quest…

什么是App推广技术?

在移动互联网红利消失殆尽、市场竞争日趋激烈的背景下,App的推广越来越难了,如何去有效的进行推广,吸引更多的用户流量,成为了众多互联网企业最为关注的问题。 而App 推广技术指的就是通过一些技术的方式来提高 App 推广效率,帮助众多互联网企业,解决 App 推广难的问题。…

如何正确推广App,实现高转化用户。

个性化深度链接技术的应用。深度链接使网页和App两者串联起来&#xff0c;减少了转换漏斗中的损失。再加上深度链接不仅能改善潜在用户的转化&#xff0c;对沉睡用户的唤醒同样也能发挥关键作用。 类型不含深度链接使用深度链接携带参数首页商品的id号&#xff0c;房间号&…

电商App:提高推广转化率的几件事

双十一将至&#xff0c;电商App获客却越来越难&#xff0c;成本越来越高。想要做好用户拉新并转化为有效用户&#xff0c;这里整理了一套拉新留存方法论&#xff0c;可以参考使用。 一、找准目标用户 首先明确用户群定位&#xff0c;可以从年龄范围、职业范围、性别、地域、消…

微信开放平台unionID 的利用(app推广转化率的解决方案)

打开微信公众号开发文档&#xff0c;开幕就是这段话。微信开放平台提供了unionID 一个用户虽然对多个公众号和应用有多个不同的OpenID&#xff0c;但他对所有这些同一开放平台账号下的公众号和应用&#xff0c;只有一个UnionID 正常的app推广方案有很多平台在做&#xff0c;费…

小程序手写板电子签名

本人已经全部处理好&#xff0c;可以直接粘贴文件使用不予要修改&#xff0c;可保存图片到本地&#xff0c;也可以转成base64位码。源码地址&#xff1a;https://download.csdn.net/download/zzsjsp/11816038

怎么制作电子签名?

随着科技的进步&#xff0c;电子签名应用的领域更广泛&#xff0c;尤其是电子签名的法律效力问题上&#xff0c;通过技术手段实现签名和签署人身份对应&#xff0c;利用不可被更改的内容形式&#xff0c;保障签名的电子文件是原文&#xff0c;广泛应用于电子商务的场景。 电子签…

电子签名的制作和使用

电子签名的制作和使用 一、在Word文档中插入手写签名生成电子签名1、准备好签名图片。2、用Word打开需要签名的文件&#xff0c;点菜单中的“插入>插图>图片”来选择已经写好的签名图片&#xff0c;插入后可以调整图片大小。3、点击菜单“格式>颜色>黑白”。4、点击…

签名涂鸦手写板

布局文件 <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:…

手写签名转化为电子版

用手机拍摄手写签名 .进行裁剪为合适大小 重新着色 设置为透明色Ctrlc复制图片CtrlAltV 选择位图 将图片设置为 浮于文字上方 8.最终得到的结果

如何制作电子签名

如何制作电子签名 获取一张带有名字的图片使用python将图片修改为透明底致谢 获取一张带有名字的图片 首先&#xff0c;在白纸上写好你的名字&#xff0c;使用相机拍摄一张图片&#xff08;可以使用一些扫描软件进行拍摄&编辑&#xff0c;比较方便&#xff09;。将图片进行…

Android实现手写板和涂鸦功能

下面仿一个Android手写板和涂鸦的功能&#xff0c;直接上代码&#xff1a; write_pad.xml <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:greendroid"http://schemas.android.com/apk/res/com.cyrilmottier.android.gdcat…

电子签名软件有哪些?10大电子签名平台盘点

目录 一、电子签名软件有哪些 1.e签宝&#xff1a;国内签名领域老大哥 2.上上签&#xff1a;开创SaaS电子签极简模式 3.法大大&#xff1a;数智化签约管理平台 4.数字认证&#xff1a;中国电子认证第一股 5.契约锁&#xff1a;主攻中大型客户无缝集成各类系统 6.安心签&…

Android 电子签名

完成一个小功能。 参考&#xff1a;https://www.jianshu.com/p/c4f017603413 主要的绘制的代码来自于上面的dalao&#xff0c;效果还不错。 看起来笔迹还是挺柔顺的。 一开始&#xff0c;在画图以后不知道怎么把笔迹保存下来&#xff0c;View中的onDraw方法中自带canvas&…