- 博客(83)
- 问答 (3)
- 收藏
- 关注
原创 C:Huffman编码a
给定一组字符的Huffman编码表(从标准输入读取),以及一个用该编码表进行编码的Huffman编码文件(存在当前目录下的in.txt中),编写程序实现对Huffman编码文件的解码,并按照后序遍历序列输出解码过程中Huffman树(规定树中左分支表示0,右分支表示1)中各结点的访问次数。先从标准输入读入待编码的字符个数(大于等于2,小于等于50),然后分行输入各字符的Huffman编码(先输入字符,再输入其编码,字符和编码中间以一个英文字符冒号:分隔),编码只由0和1组成。
2023-12-31 13:22:22 617
原创 C/C++: 关键路径
关键路径在找最早发生时间的时候要正着找,找最晚发生时间的时候要找到最后一个终点的最早发生时间后,倒着减去每个边的权值,就是各点的最晚发生时间。
2023-12-13 21:50:47 206
原创 C/C++: 统计整数
从标准输入读取输入。第一行只有一个数字N(1≤N≤10000),代表整数的个数。以后的N行每行有一个整数。输入若干个整数,统计出现次数最多的那个整数。如果出现最多的整数有两个以上,打印最早输入的那个整数。向标准输出打印出现次数最多的那个数字。
2023-11-25 20:36:44 640
原创 蓝桥杯:大石头的搬运工
先将各堆石头按照位置的先后排序。然后对于排序好的石头数组,我们遍历数组。算出假设每一个石头为中心不动,其余石头向它看齐时的花费。这个花费相当于这个中心前面的石头的移动花费+后面石头的移动花费。但是石头移动时,会将重量累加(这就是前缀和后缀和)。所以每次移动以后,要算 累加后的重量 x 当前位置移动到相邻位置的距离。
2023-11-22 17:45:43 769
原创 C/C++: 二叉树叶子节点的个数 & 二叉树深度的求解
对于求叶子结点的个数的时候:用num1和num2来标记,如果有左子结点,那么在每个循环中num1置1;同理,若有右子结点,在每个循环中num2置1;综上,每个循环中只要num1和num2 都是0的时候,说明没有子结点,则可以判断是叶子结点,最终答案ans++即可。其实这个比较简单,对于求深度的时候:用一个开关flag来标记是否要深度+1;
2023-11-01 11:56:40 500
原创 CodeForces:Madoka and Underground Competitions
经过观察,发现只要延小区域 右上-左下 的对角线填满X即可,那么就是可以总结为满足(i + j) % k == (r + c) % k。
2023-07-23 18:30:35 141
原创 CF:Codeforces Round 879 (Div. 2)A. Unit Array
Given an arrayaaof lengthnn, which elements are equal to−1−1and11. Let's call the arrayaagoodif the following conditions are held at the same time:a1+a2+…+an≥0a1+a2+…+an≥0; a1⋅a2⋅…⋅an=1a1⋅a2⋅…⋅an=1.In one operation, you can select an arbit
2023-06-18 18:28:03 386
原创 cf:Codeforces Round 879 (Div. 2) B. Maximum Strength
【代码】cf:Codeforces Round 879 (Div. 2) B. Maximum Strength。
2023-06-18 18:25:51 547
原创 C++:最长连续不重复子序列 ( 双指针算法 )
给定一个长度为 n 的整数序列,请找出最长的不包含重复的数的连续区间,输出它的长度。第二行包含 n 个整数(均在 0∼1e5 范围内),表示整数序列。共一行,包含一个整数,表示最长的不包含重复的数的连续区间的长度。第一行包含整数 n。
2023-06-18 15:24:40 219
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人