- 博客(26)
- 收藏
- 关注
原创 AcWing 导弹防御系统 Python代码
因此如果把depth写在dfs()函数里,你会发现少了许多return语句,意即许多东西还是要进行判断的,而不能早早返回。但是我们知道的是这道题的时间复杂度是非常大的,剪枝优化在于得到的答案是否大于之前一直在更新的答案,如果已经大于之前得出的答案,那么这条路就没必要走了。至于题解有好多,即枚举所有数,考虑将当前数字放入上升子序列当中还是下降子序列当中。这样还是稍微有点难理解的,因为这样操作,在dfs()函数里有许多情况可以早早。// 如果上升序列个数 + 下降序列个数 > 总个数是上限,则回溯。...
2022-08-30 15:25:12 418 1
原创 Django|编写第一个Django程序|Writting your first Django app|Windows环境
Django|编写第一个Django程序|Writting your first Django app|Windows环境|详细示范|多图预警
2022-07-19 12:36:08 911 1
原创 L2-2 老板的作息表 (25 分) 2022-4-23团体程序设计天梯赛
L2-2 老板的作息表 (25 分)新浪微博上有人发了某老板的作息时间表,表示其每天 4:30 就起床了。但立刻有眼尖的网友问:这时间表不完整啊,早上九点到下午一点干啥了?本题就请你编写程序,检查任意一张时间表,找出其中没写出来的时间段。输入格式:输入第一行给出一个正整数N,为作息表上列出的时间段的个数。随后N行,每行给出一个时间段,格式为:hh:mm:ss - hh:mm:ss其中hh、mm、ss分别是两位数表示的小时、分钟、秒。第一个时间是开始时间,第二个是结束时间...
2022-04-24 07:21:57 1104
原创 PTA 浪漫侧影 Python
前置知识:对于不一定是完全二叉树,根据已知的中序+后序(前序)遍历顺序来建树(ps:中序一定是需要的)参考大佬博客:已知中序和前序(或后序)遍历结果生成树_勿忘初心丶的博客-CSDN博客_已知中序序列和后序序列解题思路:对于树的每一层,最左端的对应着左侧影,最右端对应着右侧影。因此也不需要建树,只需要把每一层的元素存在一个数组 arr 中,左侧影为arr[0],右侧影为 arr[-1]。例如题目中的arr存放的数据为:[[1],[6,2],[7,3],[8,4],[5]]那么我们
2022-04-22 12:20:07 1345
原创 L2-3 完全二叉树的层序遍历 (25 分) | Python
L2-3 完全二叉树的层序遍历 (25 分)一个二叉树,如果每一个层的结点数都达到最大值,则这个二叉树就是完美二叉树。对于深度为 D 的,有 N 个结点的二叉树,若其结点对应于相同深度完美二叉树的层序遍历的前 N 个结点,这样的树就是完全二叉树。给定一棵完全二叉树的后序遍历,请你给出这棵树的层序遍历结果。输入格式:输入在第一行中给出正整数 N(≤30),即树中结点个数。第二行给出后序遍历序列,为 N 个不超过 100 的正整数。同一行中所有数字都以空格分隔。输出格式:在一行中输出该树
2022-04-20 20:22:16 120
原创 蓝桥真题 路径
题目:小蓝学习了最短路径之后特别高兴,他定义了一个特别的图,希望找到图 中的最短路径。小蓝的图由 2021 个结点组成,依次编号 1 至 2021。对于两个不同的结点 a, b,如果 a 和 b 的差的绝对值大于 21,则两个结点 之间没有边相连;如果 a 和 b 的差的绝对值小于等于 21,则两个点之间有一条 长度为 a 和 b 的最小公倍数的无向边相连。例如:结点 1 和结点 23 之间没有边相连;结点 3 和结点 24 之间有一条无 向边,长度为 24;结点 15 和结点 25 之间有
2022-04-08 16:00:07 115
原创 Anagrams by Stack | Python 实现
目录1.题面2.注意事项:0.OJ平台1.无限流输入 、EOF输入流2.返回中的空格3.AC代码1.题面Anagrams by StackTime Limit: 2000 msMemory Limit: 65536 KBHow can anagrams result from sequences of stack operations? There are two sequences of stack operators which can convert T.
2022-03-24 19:55:32 804
原创 蓝桥真题 判断回文日期
题面在最后。暴力没过,正确解法应该是:1.用月份枚举2.构造回文日期3.判断该日期是否合法(使用datetime.datetime())4.判断大于输入日期5.1(回文已经保证了)存下第一个回文,将flag_circle设置为False5.2ababbaba模式判断import datetimes = input()year = s[:4]s = int(s)flag_circle = Trueflag_abba = Truewhile flag_abba or
2022-03-06 10:31:46 115
原创 多重背包 Ⅰ 0/1背包问题 空间优化 Python
题目在AcWing里:4. 多重背包问题 I - AcWing题库这题用0/1背包问题的思路可以做,把多个物品逐一枚举。那么空间优化的逻辑便是:既然当前物品的体积小于等于枚举的背包体积时状态转移方程是:ans[ i ][ j ] = max(ans[ i- 1 ][ j ] , value[ i ] + arr[ i - 1 ][ j - value[ i ]])i 表示的是当前行 ,i - 1 表示的是上一行数据j 表示的是当前列,同时也是枚举到的当前考虑的背包体积。...
2022-02-04 12:20:30 949
原创 归并排序 Python
def mergeSort(l,r)->None: global arr if l>=r:return new = [] mid = l+r>>1 mergeSort(l,mid) mergeSort(mid+1,r) i = l j = mid + 1 while i <= mid and j <= r: if arr[i]<=arr[j]: new..
2022-02-01 16:38:35 1098
原创 回文日 Python的datetime模块
import datetimedef huiWenRi(start,end): #格式是20210120 #如果你需要格式2021-01-20格式,可以写成'%Y-%m-%d' s = datetime.datetime.strptime(start,'%Y%m%d') e = datetime.datetime.strptime(end,'%Y%m%d') while s <= e: #枚.
2022-01-20 12:55:13 532
原创 找零钱 状态转移
给出k种不同面值的硬币,每种硬币数量无限,再给出一个n,表示需要找的金额,请问最少需要几枚硬币才能凑出这个金额?如果凑不出来,输出No Answer!。测试开头给出整数 t 表示测试样例数量。Input:43 111 2 53 101 5 73 109 3 112 101 11Output:32No Answer!10例如:样例1中11由5+5+1拼凑是最小硬币数量的条件。1.暴力 dpfor _ in range(int(input()
2022-01-20 11:12:51 166
原创 C++ 函数中传递数组
#include<iostream>#include<math.h>using namespace std;int arr[10];void p(int arr[]){ int l = sizeof(arr); for(int i = 0;i<l;i++) cout<<arr[i]<<endl;}void p1(int *arr){ int l = sizeof(arr); for(int i = 0;i<l;i++) cou.
2022-01-19 16:51:52 1040
原创 C++ unoedered_map 哈希表 Python 字典
//C++#include<iostream>#include<vector>#include<unordered_map>using namespace std;int main(){ vector<int> nums{1,1,3,4,5,3,6}; unordered_map<int,int> counter; for(int num:nums) counter[num]++; for(auto& it :count.
2022-01-19 16:30:30 849
原创 常量、宏定义、静态变量、C++
(1)使用#define 宏定义;(2)使用const关键字。使用#define注意不要试图把 "{" , "main" 等进行替换。以及句末不需要加分号。后面的类型一定要是可以识别的。#define age 20const int age 20;#include<iostream>#define e "Hello World"#define age 600using namespace std;int main(){ printf("%d",age);
2021-12-29 18:35:01 384
原创 日志统计——蓝桥杯2018省赛(未通过)找题解请绕道
题目描述小明维护着一个程序员论坛。现在他收集了一份"点赞"日志,日志共有NN行。其中每一行的格式是:ts\ idtsid表示在tsts时刻编号idid的帖子收到一个"赞"。现在小明想统计有哪些帖子曾经是"热帖"。如果一个帖子曾在任意一个长度为DD的时间段内收到不少于KK个赞,小明就认为这个帖子曾是"热帖"。具体来说,如果存在某个时刻 T 满足该帖在[T,T+D)[T,T+D)这段时间内(注意是左闭右开区间)收到不少于KK个赞,该帖就曾是"热帖"。给定日志...
2021-12-07 22:39:58 4077
原创 明码——蓝桥杯赛题
明码(0)题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。汉字的字形存在于字库中,即便在今天,1616点阵的字库也仍然使用广泛。1616点阵的字库把每个汉字看成是16 \times 1616×16个像素信息。并把这些信息记录在字节中。一个字节可以存储88位信息,用3232个字节就可以存一个汉字的字形了。 把每个字节转为22进制表示,11表示墨迹,00表示底色。每行22个字节,一共1616行,布局是: 第 1 ...
2021-12-02 23:14:02 318
原创 记忆化搜索
对于一个递归函数w(a,b,c)w(a,b,c)如果a \le 0a≤0orb \le 0b≤0orc \le 0c≤0就返回值11. 如果a>20a>20orb>20b>20orc>20c>20就返回w(20,20,20)w(20,20,20) 如果a<ba<b并且b<cb<c就返回w(a,b,c-1)+w(a,b-1,c-1)-w(a,b-1,c)w(a,b,c−1)+w(a,b−1,c−1)−w(a,b−1,c) ...
2021-12-02 23:10:51 74
原创 Python批量创建文档
import osimport globos.chdir('D:\\')#decide what path you want to go throughfor i in glob.glob('*'): f = open(i[:-4]+'docx','w') f.close()
2021-12-02 20:34:50 167
原创 Python学习笔记之输入输出
从控制台cmd进行输入输出:假设输入的文件名为test.in (也可以为demo.txt),我的程序名为demo.py,首先cmd命令切换到py文件工作目录下,如:cd desktop(cd C:\Users\sldn\desktop)1.将test.in 内容输入到程序里面命令(cmd窗口运行):python demo.py < test.in2.如果想把程序的输出记录保存到结果为test.out的文件当中,命令如下:python demo.py < test.in &
2021-09-27 20:54:41 133
原创 筛选素数题目
把一个偶数拆成两个不同素数的和,有几种拆法?偶数不超过10000。输入:第一行T,表示样例数。接下来对应每行一个偶数。输出:对应每个偶数,输出其拆成不同素数的个数,每个结果占一行。Sample Input:23026Simple Output:32解题代码:...
2021-09-08 20:12:47 90
原创 最大、最小公约数
最大公约数用欧几里得算法来求:gcd(a,b) = gcd(b,a%b),a>=b & b!= 0:代码核心://确保 a > bint gcd(int a,int b){ return b == 0 ? a : gcd(b,a%b);}最小公约数符号为:lcm(a,b) = ,代码如下://还是要确保 a > bint lcm(int a,int b){ return a*b/gcd(a,b);}...
2021-09-08 11:20:43 212
原创 二分搜索之 最大值最小化问题
题面描述:把一个包含n个正整数的序列划分成m个连续的子序列。设第i个序列的各数之和为S(i),求所有S(i)的最大值最小是多少?例如,序列[1,2,3,2,5,4]划分为3个子序列的最优方案为[1,2,3],[2,5],[4],其中S(1),S(2),S(3)分别为6,7,4,那么最大值为7;如果划分为[1,2],[3,2],[5,4],则最大值为9,不是最小。输入:第一行:两个整数,分别为n,m。第二行:n个正整数,表示该序列。输出:只输出一个整数,表示最小的子序列和。Sa
2021-09-03 11:50:25 271
原创 二分查找 HDU2578 两数之和
题面描述:有n个数和一个整数K,,从这n个数中找出两个数,使这两个数的和为K,请问有多少组数满足条件(两个数可以重复,位置不同也算一组)。输入:第一行,一个整数T,表示有T组数据第二行,两个整数,分别为N,K,n(2<=n<=100000),k(0<=k<2**31)。第三行,N个数。输出:对于每组数据,输出这个问题的解。Sample Input:25 41 2 3 4 58 81 4 5 7 8 9 2 6Simple Out
2021-09-01 11:50:51 189
原创 qsort () 函数 和 bsearch () 函数
头文件:<stdlib.h>qsort():void qsort(void* base,size_t num,size_t size,int(*compare)(const void*,const void*))void* base:需要排序的数组,void* 表示任意的类型,size_t :数组的另一种定义,size_t num:数组的大小,size_t size:数组当中每一个元素的大小,常用sizeof(type)表示一种数据类型的大小。int(*compare)(cons
2021-08-31 17:17:39 271
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人