几种贪心技巧I
股票买卖 II题意:给定股票每天的价格a[],要求计算可以获得的最大利润(交易次数不限,只能买一股)
思考:贪心。若最优解有在第i天买,第j天卖,那么利润等同于连续在i...j 天买卖。所以只要a[i-1]<a[i],就把它算到利润中去。
12345678910111213141516#include <iostream>#include <algorithm>using namespace std;typedef long long LL;int n,a[100010];LL ans;int main(){ cin>>n; for(int i=1;i<=n;i++){ scanf("%d",&a[i]); if(i!=1&&a[i]>a[i-1]) ans+=a[i]-a[i-1]; } cout<<ans; return 0;}
技巧总结:将最优解的一部分等价替换为一系列简单的 ...
杂谈——11B
杂谈——11B我是猪 先是昨天碰巧看到了几位学长学姐的博客,感触颇深。学长A两年更新了500多篇题解(这比我迄今为止做的题还多啊QwQ),感受是算法竞赛想要拿奖,天赋什么的真的没那么重要(青岛大学在算法竞赛上强过我校就能说明问题了hh),重要的是要花大量的时间精力在这上面,一分耕耘一分收获。学长B在博客上写了自己的学习计划,上面写到假期不玩游戏、每天早睡早起背英语(反观我自己,假期中午12点起床,英语一下都没碰╥﹏╥…)。还有吐槽自己一周写完一个草稿本的学姐C。反观自己这边,有点一言难尽的感觉……
于是呢,我昨晚又玩手机到3点多才睡觉了……早上9:50爬起来上体育课,11:10提前下课后又回寝室接着躺。躺在床上跟同样学计算机的高中同学谈论这些事,我感叹这几位学长学姐太努力了,他回复到:”这不很正常吗“,”大佬都差不多,我们年级有六点半起床跑模型的“。说着我又看了看自己的屏幕使用时间:
3月8号玩了12个小时?我都干什么去了??没什么好解释的了,我就是猪
废物の自救手册 其实客观来讲,相比高中还有大一上学期,现在的学习状态还是有很大的进步的。但是从大一下开始 ...
深度学习基础——week2
[toc]
卷积神经网络(Convolutional Neural Network, CNN)深度学习三部曲
Step1: 搭建神经网络结构
Step2: 找到一个合适的损失函数(Cost Function)
Eg : 回归损失:均方误差(MSE),平均绝对值误差(MAE)
分类损失:交叉熵损失,hinge loss
Step3: 找到一个合适的优化函数,更新参数
反向传播(BP),随机梯度下降(SGD),螺旋数据分类用的 Adam 等等。
全连接与卷积全连接层的花费是巨大的,一张百万像素的图片输入维度1000000,假如隐藏层维度为1000,那么就需要$10^9$个参数。此外拟合这么多的参数也需要巨量的数据,参数过多也可能会出现导致参数过多的过拟合现象。CNN是机器学习利用自然图像中一些已知结构(平移不变性、局部性等)的创造性方法。
基本概念图像卷积Input:输入 Kernel/filter:卷积核 weights:权重 output:输出
显然,输出大小等于输入大小$n_h \times n_w$减去卷积核大小$k_h \times k_w$再加1,即 ...
杂谈——10B
杂谈——10B新学期新成就get✅ 在数模比赛中讲政治是否搞错了什么: 和小伙伴一起完成美赛F题
✅ 关于我的寒假延长了这件事: 刚开学因为发烧被隔离
新学期新目标🆕 新的风暴已经出现: 过六级!!
🆕 到了新学期就拿出真本事: 好好学习,提高绩点
🆕 accept is all you need: 搞好算法竞赛
🆕 好耶!是做科研: 做好SRDP
emmm总之是压力山大的一学期,希望不要懈怠呀,六级必过!TTK!!
CF Round770(Div.2) 部分题解
A. Reverse and Concatenate题意给一个长度为n的字符串和k次操作,每次操作可以将原字符串 s的倒置 rev(s) 加到s后面或者s前面,
问在k次操作过后能得到几种不同的字符串
思路经过一次操作后,必然成为回文串。对回文串进行操作就不会生成新的种类了。
只需要判断最开始的是不是回文就行了。
代码1234567891011121314151617181920212223242526272829303132333435363738 #include <iostream>#include <vector>#include <cstring>#include <algorithm>#include <math.h>#include <queue>#include <deque> using namespace std;typedef pair<int,int> PII;const int N=1010;string a,b;int n,k;int main(){ ...
Codeforces Round769 部分题解
虽然翻车了TwT,但还是补一下题吧~~
A.ABC题目Recently, the students of School 179 have developed a unique algorithm, which takes in a binary string $s$ as input. However, they soon found out that if some substring $t$ of $s$ is a palindrome of length greater than 1 , the algorithm will work incorrectly. Can the students somehow reorder the characters of $s$ so that the algorithm will work correctly on the string?A binary string is a string where each character is either 0 or 1 .A string $a$ is a substring of a s ...
深度学习基础——week1
[toc]
PyTorch什么是PyTorch(来自官方文档)PyTorch 是基于以下两个目的而打造的python科学计算框架:
无缝替换NumPy,并且通过利用GPU的算力来实现神经网络的加速。
通过自动微分机制,来让神经网络的实现变得更加容易。
Tensor(张量)张量如同数组和矩阵一样, 是一种特殊的数据结构。在PyTorch中, 神经网络的输入、输出以及网络的参数等数据, 都是使用张量来进行描述。
张量初始化1234567891011121314151617181920212223242526272829import torchimport numpy as np#由List直接生成张量, 张量类型由原始数据类型决定。data = [[1, 2], [3, 4]] x_data = torch.tensor(data) print(f"{x_data}\n")#通过Numpy数组来生成张量np_array = np.array(data)x_np = torch.from_numpy(np_array)prin ...
CSAPP LAB Binary bombs
CSAPP LAB Binary bombs实验报告[toc]
姓名:
学号: 专业:计算机科学与技术
科目:计算机系统原理 题目:binary bombs 二进制炸弹
实验时间: 2021年12月8日 实验教师:
一、实验目的:逆向工程拆除“二进制炸弹”程序
增强对程序机器级表示、汇编语言、调试器和逆向工程等 理解。
一个“Binary Bombs”(二进制炸弹,简称炸弹)是一个 Linux可执行C程序,包含phase1~phase6共6个阶段。
炸弹运行各阶段要求输入一个字符串,若输入符合程序预 期,该阶段炸弹被“拆除”,否则“爆炸”。
你需要拆除尽可能多的炸弹
二、实验要求拆弹装备:
熟练使用gdb调试器和objdump;
单步跟踪调试每一阶段的机器代码;
理解汇编语言代码的行为或作用;
“推断”拆除炸弹所需的目标字符串。
在各阶段的开始代码前和引爆炸弹函数前设置断点,便于调试。
每个炸弹阶段考察机器级语言程序不同方面,难度递增
阶段1:字符串比较
阶段2:循环
阶段3:条件/分支:含switch语句
阶段4:递归调用和 ...
CSAPP LAB buflab-handout
CSAPP LAB buflab-handout实验报告[toc]
姓名:
学号: 专业:计算机科学与技术
科目:计算机系统原理 题目:buflab-handout
实验时间: 2021年12月22日 实验教师:
一、实验目的:加深对IA-32函数调用规则和栈帧结构的理解
二、实验要求 对目标程序实施缓冲区溢出攻击(buffer overflow attacks)
通过造成缓冲区溢出来破坏目标程序的栈帧结构
继而执行一些原来程序中没有的行为
三、实验内容(所修改函数代码,功能以及重要代码的解释):Smoke要求通过栈溢出攻击,使之跳到smoke函数。
文档给已经出了getbuf()、test()、smoke()的高级语言代码
老规矩,先objdump d bufbomb > bufbomb.asm
12345678910111208049342 <getbuf>: 8049342: 55 push %ebp 8049343: 89 e5 ...
杂谈——1B
杂谈——1B关于此地 其实搭博客的想法在大一上的时候就有了,可惜因为一些原因其实是当时遇到BUG不会弄,直到大二的时候(也就是前几天),才和几个小伙伴一起把博客搭建好。
本站的中文名叫魔法使的秘密基地,是因为小时候的我认为各种电子软硬件就像魔法一样神奇,而如今也如愿以偿能够学习”魔法”,学习当今世界最酷的学科——计算机科学。另外,也因为我从小就喜欢ACG文化,尤其喜欢异世界番剧和网文,期望有生之年能有一天能到异世界冒险(当然是以VR游戏的形式),而魔法师也是我最喜欢的职业。
目前这个网站主要是分享计算机相关的知识、技术,记录自己从小白成长为大牛(梦想还是要有的),另外还会有各种各样的吐槽和杂谈。总之希望自己能够坚持吧。
关于过去 今晚在爱特结束一天的学习后,才意识到今天是周六,信院大门已经关了(虽然还可以从小门溜出去)。这样的状态,是中学时期的我很难想象的吧hh。
大一这一年,也许是因为自己真正喜欢计算机科学这门专业,也许是因为一些不甘,我对待学习的态度改变了很多。从国家专项擦线进入勘查工程,再转专业到计算机卓工班;从大一上的天天翘课,到大一下的提升( ...