今天开始不能丧气的听天由命,把那个诅咒我考不上的学长删了 ,努力把自己那不高的考研分数发挥到极致,主动联系导师要论文,LeetCode主要是搜索和字符串链表之类的,每天日更博客五道编程题从中选一个最精彩的+专业课学习总结+老师论文学习+各种项目突击。
去特么工作,特么欺负死我了,让我去公司现场一个sql注入,一个XSS,一个文件上传,一个文件包含,一个OS注入,我就磕磕巴巴的XSS还大概弄出来了,剩下的干坐着2个小时。。。。。
不沉迷写小说了,积极自救挣扎。。。。
一上午都在上机,回来又哭了一会儿,跟老师和小伙伴交涉了一下,所以今天的内容有些短小,如果你对哪块的细节感兴趣可以私信我讨论哦~

今日编程的精彩

题目链接

这题应该是一个小伙伴的夏令营上机题,貌似是清*大学
第一反应是暴力全都穷举一遍,数字顺序还好说,但是符号组合方式多到指数爆炸,没有好想法了,决定看answer了
看到答案之后,我觉得我差劲的原因来了,只想着字符串一样的穷举,但是它是个算数呀,每次都是要2个,然后4*3 = 12种,然后剩下三个数,再这样取两个,3*2 = 6,2*1 = 2每次可以有加减乘除4种运算之一,所以总共是12种取法*4种运算*6种取法*4种运算*2*4 = 9216种可能

官方给的思路也比较清晰:把这四个数放到一个列表中,每次取两个并选一个操作,把计算结果放入列表中代替这个数,这样数字就少了一个,直到数字只剩一个看是否是24

官方给的答案里面有些不太常用的语法来处理浮点数的问题,还挺好的,先学习一下,一下来自官方,今天心情不太好,其实这题冷静下来能分析出些思路的:
今天哭太久了,明天重做一下

class Solution {public:static constexpr int TARGET = 24;//这里的constexpr就是升级的const编译器有优化第一次见到static constexpr double EPSILON = 1e-6;//浮点数不能用==比较,所以是用相减小于一个数来算的,每次我都想偷懒static constexpr int ADD = 0, MULTIPLY = 1, SUBTRACT = 2, DIVIDE = 3;bool judgePoint24(vector<int> &nums) {vector<double> l;for (const int &num : nums) {l.emplace_back(static_cast<double>(num));//这里的强制类型转换的方法也是第一次见到}return solve(l);}bool solve(vector<double> &l) {if (l.size() == 0) {return false;}if (l.size() == 1) {return fabs(l[0] - TARGET) < EPSILON;}int size = l.size();for (int i = 0; i < size; i++) {//枚举两个数,因为注意/和-是有顺序的,+和*是没有顺序for (int j = 0; j < size; j++) {if (i != j) {vector<double> list2 = vector<double>();//开始做挑选工作for (int k = 0; k < size; k++) {//把没选的先放进去if (k != i && k != j) {list2.emplace_back(l[k]);}}for (int k = 0; k < 4; k++) {//开始枚举if (k < 2 && i > j) {//如果是+和*没有顺序就不重新算一下了,而且i > j前面算过了continue;}if (k == ADD) {list2.emplace_back(l[i] + l[j]);} else if (k == MULTIPLY) {list2.emplace_back(l[i] * l[j]);} else if (k == SUBTRACT) {list2.emplace_back(l[i] - l[j]);} else if (k == DIVIDE) {if (fabs(l[j]) < EPSILON) {continue;}list2.emplace_back(l[i] / l[j]);}if (solve(list2)) {return true;}list2.pop_back();}}}}return false;}
};
//有一种很风骚的方法计算,但上机那种不用炫技,C++的lamda表达式
unordered_map<string, function<int (int, int) > > map = {{ "+" , [] (int a, int b) { return a + b; } },{ "-" , [] (int a, int b) { return a - b; } },{ "*" , [] (int a, int b) { return a * b; } },{ "/" , [] (int a, int b) { return a / b; } }};
map[s](op2, op1);

做了四道北理的上机真题吧,有的描述不太清楚,但是我比较喜欢的方式分享一下

//用来处理,用一些分割符的,java的split多好啊
stringstream ss(path);
string tmp;
while(getline(ss,tmp,'/')) {//这个会直到末尾遇到eof,tmp是坚决不读'/'的如果一上来就'/'就读'';}//结构体,类,自定义排序,这里其实是pair,不过差不多啦sort(pr.begin(), pr.end(),[](const auto& L, const auto& R) {if(L.first != R.first)return L.second > R.second;else{return L.first > L.first;}});

专业课部分

信息学部分:

  • 虽然不知道有没有用吧,但也学着,发现一个很好的靶机平台vulnhub,直接上vmware是可以的,跟着博客做完了一个ctf0还学习了一下中国蚁剑,很好用比菜刀高级多了,就是安装的时候它有个Loader和核心源码,初始化的时候,把那个文件夹指向那个核心源码就好了。
  • 复习了一下,文件上传的图片木马如何连蚁剑,今天那题,bp抓包改文件名这种菜鸡方法是不可以的,这种情况只能文件包含配着文件上传一起用,但是今天那题特骚,提示中文件名还特么加了随机数然后算了个哈希,我…而且它上传的路径我找不到,学习到可以用bp来爆破,但其实还是凭着经验找一点一点式路径,再学学看看有木有好的方法吧。

计算机网络部分:

  • 今天看了小林的那个HTTP3,推荐一下小林coding的,他的公众号真不错,今天是QUIC,谷歌提出的,感觉挺有前途的,现在5G自媒体,大流量大家还是对快要求很高,从林哥那里总结一下QUIC协议的特点吧,无队头阻塞多个Stream之间没有影响,一个堵塞了,不影响其他的;建立连接速度很快,1个RTT就同时完成建立链接与TLS秘钥协商;连接迁移,这个比较NB,不是四元组来绑定,而是连接ID来记录通信,网络变化后,IP变了,通过ID可以来标识自己,只要上下文还在,那么久可以连上,消除重连的成本

密码学部分:

  • 说起密码学吧,每次学一上午的密码学我就很难受,数学问道太浓郁了,总是走神写小说,尤其是对密码算法的推导,后面我决定还是实现算法,直接背吧。就复习一下,初试没写出来,现在挂在墙上的RSA小可爱吧

秘钥生成部分:
选择不相等的p,q; n = p * q; φ \varphi φ(n) = (p - 1)(q - 1);随机选择e,1 < e < φ \varphi φ(n)且e与 φ \varphi φ(n)互素
公钥为(n, e),利用公钥来算一个私钥,ed - k φ \varphi φ(n) = 1这个二元一次方程组中选一组(d, k),则(n, d)为私钥

操作系统部分:

  • 面试突击那些总结一下:

    • 常用的Linux命令行小工具:不要发杵vim,这个一定要会

      • 进程操作:查看当前哪些进程在rung的ps, top,问了N遍
      • 文件操作:mv 老名字,新名字(mv原来可以改名用;
      • 网络部分:ifconfig看IP,netstat看开放的端口

小项目部分

  • 把原来那个Java的购买项目的用户登录部分,加了下放sql注入,更新了一下github,好吧就是把Statement变成PreparedStatement,Java对单引号进行转译而已(^_−)☆
  • 虽然不知道算不算项目,但是我开始手动实现密码学算法,利用C++,今天就那个小RSA吧,明天上代码,反正向github上放一放,在简历里凑个数,其实这个很难哩

dream tutor的论文

老师很热情的给了,能量分析攻击,是我挺喜欢的领域的,第一次看老师展示觉得很神奇就居然不用数学就可以破译密码有点cool,论文全是英文加实验过程,不过挺好的,至少不是毕设老师那样让自己找,只看了一点点,明天大量,今天先来个引子
能量分析攻击的主要思想是:通过分析密码设备的能量消耗获得其秘钥。本质上,这种攻击利用了两类能量消耗的依赖性:数据依赖性和操作依赖性

今天是一个好的开始,抛弃那些,开始认真的写博客分享学习,就认真的试一把复试,老师那么好,真的他怎么那么好,好像当他的学生,努力加油吧,用复试来弥补一下初试,不要丧了,加油宝贝!!!!

积极考研自救day1之leectode24点问题+今日份学习总结相关推荐

  1. 考研数学公式Day1:对secx与cscx的积分

    摘要 公式1:∫1cosxdx=∫secxdx=ln⁡∣secx+tanx∣+C公式1:\int{\frac{1}{cosx}dx} = \int{{secx}dx} = \ln|secx+tanx| ...

  2. python考研参考书目_Python自学日记28——如何选择学习资料

    这两天把数据结构和算法当做定期学习任务转向web开发阶段学习,前天开始学习Django,发现资料过时,很多Django代码在新版本里总是报错,刚开始还坚持了一段时间,把最初的步骤都通过查别人的调整代码 ...

  3. JS进阶 Day1 作用域 函数进阶 结构赋值(学习笔记)

    1.作用域 1)局部作用域 函数作用域 注:函数执行完毕后,函数内部的变量实际被清空了 块级作用域 在js中使用{}包裹的代码称为代码块,代码块内部声明的变量外部将{有可能}无法访问 let声明的变量 ...

  4. 【寒假学习】恋恋有词-考研英语词汇

    [寒假学习]恋恋有词 考研英语词汇 目录: 文章目录 [寒假学习]恋恋有词 考研英语词汇 一. 高频词汇 Unit 1 1. state 状态,情况:州,国,陈述,说明 2. public 公众的,公 ...

  5. 浙江大学计算机研究生分数线初试单科学科,2016年浙江大学计算机考研复试分数线_浙江大学考研分数线...

    成绩查询的时间越来越近了,来看看历年的分数线来估算一下自己是准备复试还是准备调剂吧,小编为大家整理了2016年浙江大学计算机考研复试分数线赶紧来看看.小编还为大家精心准备了浙江大学2016年计算机考研 ...

  6. 2019计算机考研学硕,2019计算机考研选学硕、专硕、非全日制研究生哪个好?

    从2018年开始考研,不再只是学硕,专硕之争,在职考研并入统考,非全日制考研也成为一条出路,那么对于计算机来说哪个更好?该怎么选?下面给大家盘点下这三者的区别.一起来了解下吧!小编还为大家精心准备了计 ...

  7. 大学计算机基础知识点_南京航空航天大学计算机科学与技术学院829计算机专业基础考研...

    [导语]全套资料已上线,现分享给大家.本内容全面丰富,共分为4部分内容,助力全面备考.首先通过历年考研试题进行汇编,并配有考研试题视频的讲解,能够更好地帮助广大考生朋友有针对性.有重点的掌握专业课考试 ...

  8. 计算机反面的考研专业,2018计算机考研:历年准考证打印常见七大问题

    2018考研现场确认结束,接下来同学们要关注的是考研准考证打印.下面为大家进行详细的历年准考证打印期间常见的几大问题介绍.大家做好预防啊!小编还为大家精心准备了计算机专业考研院校招生简章还有院校动态助 ...

  9. 边工作边考研的计算机经验,边工作边考研的经验

    4 如何做好考研复习 首先要有一个目标,因为人的意愿往往会随着环境和心态的变化而变化.给自己一个坚持下去的理由,因为考研和高考一样,是一场艰苦卓绝的战斗,只有能坚持到底的人,才有获得胜利的希望和可能. ...

最新文章

  1. 使用kubectl查看Kubernetes集群里的node节点信息
  2. ajax 返回flase,Django request.is_ajax返回false
  3. Spring MVC,Thymeleaf,Spring Security应用程序中的CSRF保护
  4. linux权限体系有哪些角色,详解Linux下系统权限
  5. Unity 内嵌网页
  6. flink1.12.2+hudi0.9.0测试
  7. 你在为疯狂圣诞节海报做准备了么?
  8. request与在php安全,request导致的安全性问题分析
  9. CashFiesta注册网赚
  10. 淘宝客SDK,一键导入淘宝客商城,快速实现流量变现,新增商城返利功能
  11. php重定向和伪静态,「PHP重定向与伪静态区别」- 海风纷飞Blog
  12. 阻滞增长模型求解_阻滞增长模型
  13. 【图论·习题】白银莲花池
  14. 韦东山第3期嵌入式Linux项目-视频监控-1-v4l2视频框架分析
  15. Swift --- 扩展(Extention)
  16. 交接读代码得过程和整理文档
  17. 4种最适合零基础入门的编程语言排行榜
  18. 微信怎样开通账户升级服务器,微信支付商户账户升级常见问题
  19. winrar v3.8 的注册码
  20. 转载 Python 学习-Matplotlib库

热门文章

  1. 优酷来疯直播安卓控件,支持flv,支持rtmp
  2. 【HTML】有序列表和无序列表
  3. Java网络 1.9 超级链接
  4. 如何进行有创意的字体设计——黎乙丙
  5. 游戏前期设计与开服速度的关系
  6. Linux学习十五 DNS基础服务
  7. c#之文本框的回车事件
  8. non temporal memory access
  9. 计算机怎么设置网络共享,如何设置局域网共享,教您电脑如何设置局域网共享文件夹...
  10. java对接钉钉开放平台接口_后端项目与钉钉接口(第三方)对接要注意的问题...