CS61B,启动!
注:本文中的week对应课程时间安排。 week15.15学习了java的基本语法和结构。java是一门面向对象语言。程序文件都是由一个个类构成,代码必须在函数内执行。与python需要区别语法是,它以大括号作为分隔,并且每行语句结束需要;,其实大部分语法和cpp比较接近。对于变量都要声明类型。以hello world为例: 12345public class hello_world{ public static void main(String[] args){ System.out.println("hello world"); }} 另外对于方法而言,Java 允许我们定义两种类型方法。 static,静态方法,由类本身执行的操作。 x = Math.sqrt(100); 非静态方法,实例方法,只能由类的特定实例执行。 Math m = new Math();x = m.sqrt(100); week25.17主要学习了测试的方法,还有一些细节。...
接下来的学习规划
前言转专业结束也有一个星期了,进入了计算机学院,也算是完成了一个阶段性的目标吧(有空再写一贴)。打算学习一些技术栈了。大二上册需要补很多课,也许抽不出时间。。 开发还是想学后端。计划是先学习java,跟着cs61b做一些proj。因为61b也有对于python过渡的铺垫,而且我也没系统地学过数据结构。之后再尝试做一做烂大街的项目。前端的话,找不到工再看看。 安全 先把之前的坑给填掉,好多比赛的题目还没有复现。 另外,对于ctf以外的内容还是很欠缺,渗透和攻防这方面之前没有接触过。 最后,还要多练练docker和出题。
Python_语法糖
本篇文章是转专业机考前抱佛脚所写,可能有点马虎和功利。 itertools 全排列和全组合combinations和permutations两者都是itertools中的函数,可以实现生成字符串、字典、列表,元组中的排列和组合后的元素,形式为元组。先从itertools中引入。 123456789from itertools import combinations,permutations# 语法为combinations(iterable,元素个数)——# permutation中,元素个数不写则默认为全部n,m = map(int,input().split())l = [str(x) for x in range(1,n+1)]for i in combinations(l,m): print(' '.join(i))#全组合for j in permutations(l): print('...
从回文日期学习datetime
先放上两种做法 1234567891011121314151617181920212223242526#思路是对年代进行迭代,进行回文操作后查看日期是否合法from datetime import datetimedef judge(y,m,d): try: datetime(y,m,d) return True except ValueError: return Falset1 = input()t2 = input()start = int(t1[:4])end = int(t2[:4])cnt = 0for y in range(start,end+1): y_str = f'{y:04d}' m = int(y_str[::-1][:2]) d = int(y_str[::-1][2:]) if judge(y,m,d): res =...
十六届蓝桥杯PythonA组复盘
A简单的暴力枚举 1234567cnt = 0for r in range(0,256): for g in range(0,256): for b in range(0,256): if b > g and b > r: cnt += 1print(cnt) B当时比赛的时候卡了很久wwww,看了题解也不会。。。 C模运算的使用,但是也可以无脑拓宽长度,这样就不用取模了 1234h,w = map(int,input().split())a = '2025'*9999for i in range(h): ...
npcc决赛web_wp
这周末有蓝桥杯和大英赛,抽空看看.tgctf也没什么时间看:( webezphpfilter chain 签到12345678910<?phpclass A { public $a; public $b;}$test = new A();$test->a = null;$test->b = &$test->a; // 创建引用echo serialize($test); & 符号表示引用(Reference),它可以让两个变量指向同一个内存地址。当我们用 &$test->a 时,表示直接操作对象属性的内存地址 sakivite文件任意读漏洞 2025-30208 ?raw?? | ?import&raw?? 2025-31125 ?raw?import | ?inline&import 2025-31486 ?.svg?.wasm?init成功了,只有这个不依赖于@fs pin码生成1.username 读...
xy2025部分wp
webSign_in类同sekaictf_2022的bottle poem .///..///..///secret.txt绕过检查 得到cookie加密密钥:Hell0_H@cker_Y0u_A3r_Sm@r7 更改cookie赋予逻辑,本地运行得到admin的cookie: "!w7ggni+OONpuUroWJe5pEGGQSE1aUyCHrz6RoSzaQEA=?gASVGQAAAAAAAABdlCiMBG5hbWWUfZRoAYwFYWRtaW6Uc2Uu" 发现是sha256签名加密.尝试进行pickle反序列化,将回显放在http头 1234567891011121314151617181920212223242526272829303132import os, hmac, hashlib, base64, pickle, requestsdef tob(s, enc='utf8'): if isinstance(s, str):...
01背包学习
通过这个问题开始对DP算法进行学习个人的理解就是只归不递想要v时大,就要v-1时大,想要v-1时大,就要…首先将问题分为两个角度 状态表示$f(i,j)$i 表示了前i个物品而j是其中的一个限制维度 表示了什么集合?所有只考虑前i个物品,且总体积不超过j的选法的集合 具有什么属性?集合中的最大值 状态计算划分方法需要做到:不重复,不遗漏本题可以以j为界一边为所有不选择第i个物品的方案:即$f(i-1,j)$另一边为选择第i个物品的方案:变化的部分为前面的选择,不变的为现在加上了i.所以想让全部的价值最大,应该为让前面变化的部分价值最大那我们就对前面的部分进行进一步分析.首先$V_总 <= j$ 那也就是说$$V_前 <= j-V_i$$那么我们就知道了子问题所考虑个数和限制条件,即求$f(i-1,j-v_i)$,最后加上$w_i$就是总的最大值了.最后两个方案取最大 最终代码1234567891011n,v = map(int,input().split())grid = []for _ in range(n): ...
Python语法辨析与补充
Python函数与语法统计元素相关函数count的使用.l.count(1) set()123456789101112131415161718192021222324252627282930313233s = set() # 空集合s = set([1, 2, 3]) # 从列表创建 → {1, 2, 3}s = set("hello") # 从字符串创建 → {'h', 'e', 'l', 'o'}s = {1, 2}s.add(3) # 添加单个元素 → {1, 2, 3}s.update([4, 5]) # 批量添加元素 → {1, 2, 3, 4, 5}s.remove(3) # 删除元素,若不存在会报 KeyErrors.discard(3) #...