【2022每日分享day16】经典例题:接雨水
河北大学2022寒假萌新程序设计训练每日知识分享-day16
每日分享—— 经典例题:接雨水
【2022每日分享day15】Codeforces
河北大学2022寒假萌新程序设计训练每日知识分享-day15
每日分享—— CodeforcesCodeforces https://codeforces.com/Codeforces是一个提供在线评测系统的俄罗斯网站,由一群来自俄罗斯萨拉托夫国立大学的程序员创建并维护。它最初是为那些对于解决问题和参加竞赛感兴趣的学生而设立。第一届Codeforces比赛于2010年2月19日有175名选手参加,到了2019年7月一共举办了超过650场,平均每一场有超过9000名参赛者。
很多大学都推荐计算机学生使用Codeforces来辅助学习。CMU的计算机教授Daniel Sleator认为在计算机学习时编程竞赛是必要的,因为在参赛的同时学生能够学到如何将传统的算法进行调整来适应实际问题,这样下来学生能够加深对于算法概念的理解。他就在他自己的课堂上便采用Codeforces的题目来作为范例指导学生。
比赛简介Codeforces平台有以下两种比赛活动:
Codeforces Rounds(短程比赛) 大约一周一次,时长2小时
Educational Contests(教育性比赛) ...
【2022每日分享day14】Stack Overflow
河北大学2022寒假萌新程序设计训练每日知识分享-day14
每日分享—— Stack OverflowStack Overflow http://stackoverflow.com/Stack Overflow是一个与程序相关的IT技术问答网站。用户可以在网站免费提交问题,浏览问题,索引相关内容,在创建主页的时候使用简单的HTML。在问题页面,不会弹出任何广告,销售信息,JavaScript 窗口等。
Stack Overflow 参考 Reddit (一个社交新闻网站)等网站的用户激励机制,关注问题质量,网站允许注册用户提出或回答问题,还可对已有问题或答案加分、扣分或进行修改,条件是用户达到一定的“声望值”。“声望值”就是用户进行网站交互时能获取的分数 。
其他问答网站还有知乎,掘金等,社区网站也有GitHub,SegmentFault思否,在社区,每一位开发者都可以贡献和更新技术内容,共同参与社区建设,维护社区秩序。
【2022每日分享day13】LibreOJ
河北大学2022寒假萌新程序设计训练每日知识分享-day13
每日分享——LibreOJLibreOJ https://loj.ac/洛谷致力于为OIers/ACMers提供清爽、快捷的编程体验。它不仅仅是一个在线测题系统,更拥有强大的社区、在线学习功能。同时,许多教程内容都是由五湖四海的ers提供的,保证了内容的广泛性。无论是初学者,还是久经沙场的神犇,均可从洛谷Online Judge获益,也可以帮助他人,共同进步。
可以在洛谷上搜索题单,有针对性的对某一方面进行训练或者积累做题经验。
洛谷网站为 https://www.luogu.com.cn/
【2022寒假精进训练-4】7-10 分而治之
分而治之,各个击破是兵家常用的策略之一。在战争中,我们希望首先攻下敌方的部分城市,使其剩余的城市变成孤立无援,然后再分头各个击破。为此参谋部提供了若干打击方案。本题就请你编写程序,判断每个方案的可行性。
输入格式:输入在第一行给出两个正整数 N 和 M(均不超过10 000),分别为敌方城市个数(于是默认城市从 1 到 N 编号)和连接两城市的通路条数。随后 M 行,每行给出一条通路所连接的两个城市的编号,其间以一个空格分隔。在城市信息之后给出参谋部的系列方案,即一个正整数 K (≤ 100)和随后的 K 行方案,每行按以下格式给出:
Np v[1] v[2] ... v[Np]
其中 Np 是该方案中计划攻下的城市数量,后面的系列 v[i] 是计划攻下的城市编号。
输出格式:对每一套方案,如果可行就输出YES,否则输出NO。
输入样例:12345678910111213141516171810 118 76 84 58 48 11 21 49 89 11 102 454 10 3 8 46 6 1 7 5 4 93 1 8 42 2 87 9 8 7 6 5 4 2
输出样例:在这 ...
【2022寒假精进训练-4】7-6 功夫传人
在老电影“007之生死关头”(Live and Let Die)中有一个情节,007被毒贩抓到一个鳄鱼池中心的小岛上,他用了一种极为大胆的方法逃脱 —— 直接踩着池子里一系列鳄鱼的大脑袋跳上岸去!(据说当年替身演员被最后一条鳄鱼咬住了脚,幸好穿的是特别加厚的靴子才逃过一劫。)
设鳄鱼池是长宽为100米的方形,中心坐标为 (0, 0),且东北角坐标为 (50, 50)。池心岛是以 (0, 0) 为圆心、直径15米的圆。给定池中分布的鳄鱼的坐标、以及007一次能跳跃的最大距离,你需要告诉他是否有可能逃出生天。
输入格式:首先第一行给出两个正整数:鳄鱼数量 N(≤100)和007一次能跳跃的最大距离 D。随后 N 行,每行给出一条鳄鱼的 (x,y) 坐标。注意:不会有两条鳄鱼待在同一个点上。
输出格式:如果007有可能逃脱,就在一行中输出”Yes”,否则输出”No”。
输入样例:12345678910111213141514 2025 -15-25 288 4929 15-35 -25 2827 -29-8 -28-20 -35-25 -20-13 29-30 15-35 4012 12
...
【2022寒假精进训练-4】7-8 图着色问题
图着色问题是一个著名的NP完全问题。给定无向图G=(V,E),问可否用K种颜色为V中的每一个顶点分配一种颜色,使得不会有两个相邻顶点具有同一种颜色?
但本题并不是要你解决这个着色问题,而是对给定的一种颜色分配,请你判断这是否是图着色问题的一个解。
输入格式:输入在第一行给出3个整数V(0<V≤500)、E(≥0)和K(0<K≤V),分别是无向图的顶点数、边数、以及颜色数。顶点和颜色都从1到V编号。随后E行,每行给出一条边的两个端点的编号。在图的信息给出之后,给出了一个正整数N(≤20),是待检查的颜色分配方案的个数。随后N行,每行顺次给出V个顶点的颜色(第i个数字表示第i个顶点的颜色),数字间以空格分隔。题目保证给定的无向图是合法的(即不存在自回路和重边)。
输出格式:对每种颜色分配方案,如果是图着色问题的一个解则输出Yes,否则输出No,每句占一行。
输入样例:12345678910111213146 8 32 11 34 62 52 45 45 63 641 2 3 3 1 24 5 6 6 4 51 2 3 4 5 62 3 4 2 3 4
输出样例:在这里给出相应 ...
【2022寒假精进训练-4】7-7 城市间紧急救援
作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图。在地图上显示有多个分散的城市和一些连接城市的快速道路。每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上。当其他城市有紧急求助电话给你的时候,你的任务是带领你的救援队尽快赶往事发地,同时,一路上召集尽可能多的救援队。
输入格式:输入第一行给出4个正整数N、M、S、D,其中N(2≤N≤500)是城市的个数,顺便假设城市的编号为0 ~ (N−1);M是快速道路的条数;S是出发地的城市编号;D是目的地的城市编号。
第二行给出N个正整数,其中第i个数是第i个城市的救援队的数目,数字间以空格分隔。随后的M行中,每行给出一条快速道路的信息,分别是:城市1、城市2、快速道路的长度,中间用空格分开,数字均为整数且不超过500。输入保证救援可行且最优解唯一。
输出格式:第一行输出最短路径的条数和能够召集的最多的救援队数量。第二行输出从S到D的路径中经过的城市编号。数字间以空格分隔,输出结尾不能有多余空格。
输入样例:12345674 5 0 320 30 40 100 1 11 3 20 3 30 2 22 3 2
输出样例: ...
【2022寒假精进训练-4】7-6 功夫传人
一门武功能否传承久远并被发扬光大,是要看缘分的。一般来说,师傅传授给徒弟的武功总要打个折扣,于是越往后传,弟子们的功夫就越弱…… 直到某一支的某一代突然出现一个天分特别高的弟子(或者是吃到了灵丹、挖到了特别的秘笈),会将功夫的威力一下子放大N倍 —— 我们称这种弟子为“得道者”。
这里我们来考察某一位祖师爷门下的徒子徒孙家谱:假设家谱中的每个人只有1位师傅(除了祖师爷没有师傅);每位师傅可以带很多徒弟;并且假设辈分严格有序,即祖师爷这门武功的每个第i代传人只能在第i-1代传人中拜1个师傅。我们假设已知祖师爷的功力值为Z,每向下传承一代,就会减弱r%,除非某一代弟子得道。现给出师门谱系关系,要求你算出所有得道者的功力总值。
输入格式:输入在第一行给出3个正整数,分别是:N(≤10^5^)——整个师门的总人数(于是每个人从0到N−1编号,祖师爷的编号为0);Z——祖师爷的功力值(不一定是整数,但起码是正数);r ——每传一代功夫所打的折扣百分比值(不超过100的正数)。接下来有N行,第i行(i=0,⋯,N−1)描述编号为i的人所传的徒弟,格式为:
Ki ID[1] ID[2] ⋯ ID[K ...
【2022寒假萌新训练-3】7-7 点赞狂魔
微博上有个“点赞”功能,你可以为你喜欢的博文点个赞表示支持。每篇博文都有一些刻画其特性的标签,而你点赞的博文的类型,也间接刻画了你的特性。然而有这么一种人,他们会通过给自己看到的一切内容点赞来狂刷存在感,这种人就被称为“点赞狂魔”。他们点赞的标签非常分散,无法体现出明显的特性。本题就要求你写个程序,通过统计每个人点赞的不同标签的数量,找出前3名点赞狂魔。
输入格式:输入在第一行给出一个正整数N(≤100),是待统计的用户数。随后N行,每行列出一位用户的点赞标签。格式为“Name K F1⋯FK”,其中Name是不超过8个英文小写字母的非空用户名,1≤K≤1000,Fi(i=1,⋯,K)是特性标签的编号,我们将所有特性标签从 1 到 10^7 编号。数字间以空格分隔。
输出格式:统计每个人点赞的不同标签的数量,找出数量最大的前3名,在一行中顺序输出他们的用户名,其间以1个空格分隔,且行末不得有多余空格。如果有并列,则输出标签出现次数平均值最小的那个,题目保证这样的用户没有并列。若不足3人,则用-补齐缺失,例如mike jenny -就表示只有2人。
输入样例:1234565bob 11 ...