2023暑期训练-part2
管用时间:2023-7.9-2023.7.16
由于有动物学实习,不知道能做多少。
本期主要刷 cf1600-2000 的题目来康复,期望能 div2 做出来
20230711
CF1844A
输出 A+BA+BA+B 即可
CF1844B
把 111 放在最中间,2,32,32,3 放在最边上即可。
CF1844C
由于可以去除两端而无影响,直接一个 dp 就可以了。
123456789101112131415161718192021222324252627282930#include<bits/stdc++.h>#define int long longusing namespace std;const int maxn=200200;const int looker=-1e18;int n,T,f[maxn],ans,a[maxn];signed main(){ ios::sync_with_stdio(false); cin>>T; while(T--) { cin>>n; ...
2023暑假训练-part1
20230702
今天回来主要打了牛客的周赛
感觉就是DIV4水平,但是自己回寝室都八点了打了半个小时就结束了,实际上多个10min就AK了。
牛客周赛 牛客周赛 Round 1
A
题目大意:画一个大小为 nnn 的 ‘u’
直接模拟即可:
12345678910111213141516171819202122232425262728#include<bits/stdc++.h>using namespace std;int n;int main(){ ios::sync_with_stdio(false); cin>>n; for(int i=1;i<=n*3;i++) { for(int j=1;j<=n;j++) cout<<'*'; for(int j=1;j<=2*n;j++) cout<<'.'; for(int j=1;j<=n;j++) cout<<'*'; cout<<'\n ...
SDCPC2023游记
前言
萌新的第一次线下赛,很块落。
赛前
半年没碰过代码了,考前打了两场CF,成功上绿(XD),期望大概是金尾-银首,刷了大概十多道题,感觉1500左右的题目能随便切了。
6.3
早上六点钟出发去济南,头一天看 IEM 达拉斯然后成功没熬到老鼠打A队 ,睡眠时间四小时,但是不困。
和哈v拼的大巴,头铁坐了第一排喜提教练坐旁边,md这大巴太逆天了第一排脚都伸不直,恰好膝盖伤着了很难受,不过过了服务站就去睡觉了。过淄博的时候醒了,看了一下淄博,虽然什么都没看出来。
下午一点半到达气功大,发现气功大太美丽了,比山v高明到不知到哪里去了。然后领物资的时候,被志愿者带到山东大学的档口,结果找不到自己队伍牌子,发现成小丑后赶紧润回山v的地方,拿到了号牌。
然后去吃饭,美丽的气功大竟然允许我们自己申请校园卡。直接嗯造蛋炒饭,9元的现炒蛋炒饭太爽了(某个985分校这价格只能买不是现炒并且巨油巨难吃的蛋炒饭,不 cool )
接下来是热身赛,大家对 thinkpad 的 fn 键布局很不满,并且过了十分钟才发现电脑已经解锁了(刚开始有锁屏密码,之后一直没唤醒),每个人轮流AC , zht 贡献了两个罚 ...
ML的HelloWorld:MNIST识别
kaggle地址
数据是很普通的MNIST(28*28) 即一个 28*28 的256灰度图,要求你识别出数字
操作系统:世界上最垃圾的操作系统(我还没说是哪个呢)
简单CNN Acc:0.99
CODE
参考&部分代码
数据准备
首先我们来实现Baseline(Acc=0.99)
读入数据,我们使用 pandas 读入数据
12train_origin = pd.read_csv(PATH+TRAIN)test_origin = pd.read_csv(PATH+TEST)
由于我们的训练集是只有一个label,但是我们神经网络需要输出一个10维向量(代表 0 to 9),因此我们改写一下数据集,把 label 转化成 onehot 编码的
其实并不需要输出一个十维的,也可以就输出一个数字,但是一般不会这么写
1one_hot_embedding = pd.get_dummies(train_origin.label,prefix='y')
然后我们把这个编码出来的合并到原来训练集中,并且删除原来的label标签
12345# axis = 1 是横 ...
AI中的输入数据处理入门
Panda
12import numpy as npimport pandas as pd
读入一个csv表格
train_data = pd.read_csv("path")
DataFrame
DataFrame 是一个表格型数据结构,构造它的方式如下
table = pandas.DataFrame( data, index, columns, dtype, copy)
其中的参数分别是 数据,索引值,列标签,数据类型和拷贝数据
具体可以查阅
loc和iloc
看这个
GAN
一个真实有用的技术,会在不同领域不断被人重新发现,给予新的名词,然后大家会把功劳归给那一个教会了大家这个算法的人,而不失最早发明它的人。
变形金刚
大部分图片来自
Photation is All You Need
在说变形金刚之前,我们考虑几个问题
LSTM,GRU的缺点有哪些,它有什么可取之处
很显然, LSTM , GRU 以及普通的 RNN 模型严重依赖上一个时间点的结果,这限制了模型的并行性。此外,对于超长文本,即使是 GRU LSTM 表现也不够好。
为什么要利用 CNN 替代 RNN ?
CNN的缺点有哪些 ?
Transformer
Transformer 是一个 enc-dec 的结构
enc 和 dec 具体如下
输入数据编码
Word2Vec
除了第一层的词向量是 Word2Vec 其他的都是上一个 enc 的输出
Self-Attention
我们想用 Self Attention 找到句子中每个词和哪个有关联,例如上面这句话,我们要做的就是找到it 指代的是 animalanimalanimal
在 selfattention 中 ,每个单词有三个不同的向量 Q K V ,它们是嵌入向量乘上三个不同的权重矩阵得到的。
计算流程如下
换句话说,最后得到的效果是这样的
这里需要进一 ...
ResNet
考虑加深网络的深度,肯定希望是出现右图的情况,即更深的网络搜索的范围一定比原来的更广阔并且对全局 minima 更近,但是网络可能会出现左边的情况,也就是更深层的网络距离最优解更远
因此可以提出一种残差网络的做法:定义残差块为
hl=W∗hl−1+hl−1h^l=W*h^{l-1}+h^{l-1}hl=W∗hl−1+hl−1 这样更深层的网络就包含了前面的网络
以下是流程
从 224*224*3->112*112*64 通过一个 7*7 的 64 个 fliter 的卷积核,然后通过 mean-pooling
之后的网络升级维度可以看这个网站
不过没有 ResNet34
biopython学习记
由于这种东西开发者手册写的很明白,所以我就说我做了什么好了
start:2023-03-15
相关代码
Day 1
学习了一些基本的概念,比如K−mersK-mersK−mers 编码。
基因是怎么被发现的
换句话说,如果我们要确定一段DNA中的基因序列,该怎么办。
(from wiki)
在基因的间接识别法(Extrinsic Approach)中,人们利用已知的mRNA或蛋白质序列为线索在DNA序列中搜寻所对应的片段。由给定的mRNA序列确定唯一的作为转录源的DNA序列;而由给定的蛋白质序列,也可以由密码子反转确定一族可能的DNA序列。因此,在线索的提示下搜寻工作相对较为容易,搜寻算法的关键在于提高效率,并能够容忍由于测序不完整或者不精确所带来的误差。BLAST是目前以此为目的最广泛使用的软件之一。
鉴于间接识别法的种种缺陷,仅仅由DNA序列信息预测蛋白质编码基因的从头计算法(Ab Initio Approach)就显得十分重要了。一般意义上基因具有两种类型的特征,一类特征是“信号”,由一些特殊的序列构成,通常预示着其周围存在着一个基因;另一类特征是“内容”,即蛋白质编码基因所具 ...