自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 收藏
  • 关注

原创 Swin transformer讲解

讲解Swin transformer

2022-09-24 17:52:47 1758 1

原创 解数独c++

这一期属于睡不着的填坑,为了拿来即用,我把全部代码放在开头:

2022-05-29 01:41:28 406

原创 训练神经网络-激活函数&BN

推荐cs231n【公开课】最新斯坦福李飞飞cs231n计算机视觉课程【附中文字幕】_哔哩哔哩_bilibili为什么需要非线性:非线性拟合能力强(表达能力强)。对于非线性层,我们需要在构建多层网络的同时选择一种激活函数,如下图:常见的激活函数:一、sigmoid最经典的激活函数 输出范围(0,1)它把输入值做非线性映射为0到1的值,保证了严格单调递增。缺点也很明显,1.如果输入的值绝对值过大,该函数的输出值将逼近0或1,反向传递时将导致梯度消失,2.幂运算求...

2022-05-29 00:26:06 666

原创 并查集做题笔记(后续想到什么再往上加)

1252. 搭配购买 - AcWing题库一个有条件的背包题,大意就是给出一个01背包题的数据,然后加上一些必须在一起的组合题目:一开始思路是写一个并查集,然后遍历把原来的背包数据更新后存在两个新的数组中(后来想想其实多此一举)(想想为什么不用把更新后的数据单放在其他数组里)我的复杂ac代码:#include<bits/stdc++.h>using namespace std;const int N=10005;int w[N],v[N],p[N];//.

2022-01-11 16:46:34 513 2

原创 并查集入门

许久未写博客了,最近在学习数据结构,为了巩固自身记忆以及深入细节,还是打算继续写下去并查集 字面意思就是把很多集合并为一个起到查找降低复杂度的作用p【数字或者映射或者集合】= 集合理解思路:1.一开始每个数字(映射)都是自己一个集合 p[ i ] = i2.当做出合并操作 ( p[x]=p[y] ) 时有几种理解(1)把一个元素放到一个集合里 p【元素】=集合(2)把这个集合放到另一个集合里 p 【集合】=集合3.若多次做出上述操作(2)时,需要更新原集合的元素到新集合(

2022-01-07 15:44:30 2685

原创 从零开始教我解数独(第一期)

用c++写了个解数独(极简版,甚至都懒得用stl),刚刚接触解数独,只是运用游戏规则写出#include<bits/stdc++.h>using namespace std;int main(){ int book[10][10][10]={};//前两个表示位置,后面表示使用情况 int nn[10][10]={};//这个位置已经添几个 //set<int> st[10]; int in[10][10]; for(int i=1;i<=9;i

2021-10-26 20:12:07 262 3

原创 Codeforces Round #750 (Div. 2) D. Vupsen, Pupsen and 0

一周多没见了,最近快到几科结课考试时间了,孩子好累5555。。。。同样希望你不认识她。。。。题目简洁明了,创造bi数组使满足∑ai⋅bi=0,同时满足∑abs(bi)<1e9(虽然感觉这条跟摆设一样,但还是写了个gcd)思路:对于一个二元组ai,aj(ai>0 , aj>0),我们需要得出 bi=-aj和 bj=-ai 与之对应关键部分(用gcd处理了一下,怕超过限制。。。) while(bg<=ps){//bg是前下标,ps是后下标 int .

2021-10-24 23:33:05 186 1

原创 ccpc网络赛(重赛)E - Monopoly

考试的时候被这题搞得心态有点炸裂,一直没想明白怎么优化,调了一下午终于出来了Problem - 7130 (dingbacode.com)思路就是先用前缀把所有数遍历后,按照余数储存(这步很重要)。在实现过程中遇到的问题不限于:1、stl好多,写着写着就乱了;2、排序过程中存实值还是存下标;3、对于s正负处理不一样贴个官方题解:来到这里的肯定或多或少对于题解有点不解,我们分阶段解释先初始化(记录前缀)#include<bits/stdc++.h>using..

2021-10-12 17:20:45 489

原创 【每日一题】Codeforces Round #747 (Div. 2) D - The Number of Imposters

思维+实现 可以尝试思路:如果 A 在评论中说 B 是船员,则 A 和 B 属于同一团队(冒名顶替者或船员)。 如果 A 在评论中说 B 是冒名顶替者,则 A 和 B 属于不同的团队。如果 A 和 B 在同一个团队中,那么我们添加权重为 0 的边,否则添加权重为 1。给出ac代码#include<bits/stdc++.h>using namespace std;const int N=2e5+5;int f[2*N],size[2*N]; ..

2021-10-10 21:26:42 156

原创 【每日一题】Codeforces Round #732 (Div. 2) C. AquaMoon and Strange Sort

思维题(乱搞题),做完恍然大悟,可以试试题目:大意就是 给一串数字,每个数字必须交换偶数次,能不能把这些数字变成单调递增数列先看样例3,观察到如果对于相邻字母改变时(其他无需改变)无法调整,再看样例1,2,发现交换前后对于每个数字位置的奇偶性保持不变。(这点不好想)最后给出ac代码:#include<bits/stdc++.h>using namespace std;int cnt[100005][2],a[100005];int main(){ i..

2021-10-08 20:42:56 103

原创 【每日一题】二维费用的背包问题

acwing上的一道板子题加一层状态解决问题,最近打算开数位dpac代码:#include<bits/stdc++.h>using namespace std;int dp[1005][1005];//左边体积 右边重量int main(){ int n,v,m; cin>>n>>v>>m; int vi,mi,wi; for(int i=1;i<=n;i++){ cin>>vi>>mi&.

2021-10-08 00:23:25 71

原创 【每日一题】洛谷 p1433 吃奶酪 状压dp

- [P1433 吃奶酪](https://www.luogu.com.cn/problem/P1433)换一种类型,这次求长度最小值,(n<15)接着状压题目:房间里放着nn块奶酪。一只小老鼠要把它们都吃掉,问至少要跑多少距离?老鼠一开始在(0,0)(0,0)点处。梳理状态:1吃了几个,2吃了哪几个(dp[i个][吃完第i个是什么状态])写出递推式dp[j][i]=min(dp[j][i],dp[p][i-(1<<(j-1))]+a[p][j]);/...

2021-10-06 17:00:07 276

原创 【每日一题】2019 ICPC Malaysia National F 状压dp

这题有点意思,卡了不少时间题目大意就是有两行正整数按照从1到n的顺序排列,两行数之间两两匹配,有两个条件要满足,1是两数之间不能超过e,2是有k组数不能匹配。看到e的取值不大我们直接选择状压dp[当前位置][当前状态]+=dp[上个位置][上个状态]for(int i=1;i<=n;i++){//选一个人 for(int p=0;p<(1<<(2*e+1));p++){//上一个人的所有状态 for(int j=-e;j<=e;j++){/.

2021-10-04 12:05:33 182

原创 【每日一题】2019 ICPC Malaysia National E - Optimal Slots

不无聊的一道题,可以试试,明天做f题Problem - E - Codeforceshttps://codeforces.com/gym/102219/problem/E题目:您住所的主厅向当地社区和公众开放。 由于它是建立在公众捐赠的基础上的,因此使用它是免费的。 每个周末,尤其是公共假期,最多可预订 50 次,用于不同持续时间的多个活动。 您已被居民指派制定一项选择活动的计划,以最大限度地利用每个周末的分配时间,并尽可能缩短未使用的时间。 程序应该找到最能填满分配时间的事件,并按照预订列表中出.

2021-10-03 23:33:59 109

原创 背包优化方式和困惑(第二期)

各位国庆快乐哈,祝各位玩的开心,我们明天就开学了,就多放一天枯了55555.愿有情人苦尽甘来最终两不辜负,愿保研边缘党成功上岸,愿我少掉几根头发╮(๑•́ ₃•̀๑)╭这回讲完背包中的完全背包和多重背包和混合问题。完全背包问题:每件物品无限多个,我们可以回想上次提到的01背包为什么从后向前遍历,是因为从后向前更新,后面的数组更新不会影响前面的排列。遇到完全背包可以反过来思考,让数组从前向后更新,就可以多次使用同一个物品。基础的依然是滚动数组优化空间复杂度:O(VN)还有一种...

2021-10-03 00:53:01 142

原创 【每日一题】P1220 关路灯 区间dp

经典区间dpP1220 关路灯 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)败犬二人组大意:一个村庄有一条路,有一个人关灯,每个灯的功率不一,要怎么关灯才能使耗电最小看到题目之后先分析,假如两侧只有两盏灯、三盏灯、四盏灯。。。。一直到n盏灯,属于递推关系(每多一盏灯多两次判断),递推式和数量相关,存在两种状态(位于已经关掉一定数量的灯的左边,或者右边)梳理一下状态,(左端点,右端点,所在位置(0在左,1在右)dp[i][j][0]/dp[i][j][1]得到递

2021-09-30 16:04:55 170

原创 【每日一题】 Codeforces Round #691 (Div. 2) Row GCD

有点久远的一题,觉得题目极为简洁,写起来挺好玩的。just monikaProblem - C - Codeforces问所给b[j]从gcd(a[1],b[j])一直gcd到gcd(a[n],b[j])考的是一个性质:gcd(a,b)=gcd(a,|b-a|)然后仔细想想,让每项都消掉b[j]的做法,思路:聪明的你一定秒懂了(别吐槽我的字。。。。。)最后给出ac代码:#include<bits/stdc...

2021-09-29 22:22:15 107

原创 【每日一题】Codeforces Round #744 (Div. 3) D Productive Meeting

《签到只会stl》(笑了)指到的人去刷到dp。:.゚ヽ(。◕‿◕。)ノ゚.:。+゚题目:一个重要的会议要召开,正好邀请了n个人。 任何时候,任何两个人都可以退后一步,私下交谈。 同样的两个人可以在每次会议上多次(按他们想要的次数)交谈。 每个人的社交能力都是有限的。 第i个人的社交能力是一个非负整数ai。 这意味着在完全 ai 谈话之后,此人离开会议(并且不再与其他任何人谈话)。 如果ai=0,第i个人在会议开始后立即离开。 如果在会议期间进行了尽可能多的会谈,则会议被认...

2021-09-29 00:51:07 152 1

原创 每日一题 股票买卖V 【acwing】状态机模型

一道拿来练手的dp,思维不深但是可以练习动态规划中寻找状态,确定递推式。

2021-09-27 22:52:59 162

原创 洛谷P1879 [USACO06NOV]Corn Fields G dp状压

题目不难,可以练手的板子题(甚至我都怀疑这是不是蓝题。。。。)又快到看红叶的季节了(●’◡’●)ノ题目大意:给一个m行n列的图,在这个图中可以种草的以1表示,不能种的用0表示,然后放牛上去吃草,牛吃草的位置上下左右不能有其他的牛,问牛在图中有几种摆法。(这一看就是炮兵阵地的easy version)先把整张图转化成二进制数,储存在mp[i]里 for(int i=1;i<=m;i++){ for(int j=1;j<=n;j++){ cin>&gt.

2021-09-26 17:50:13 143 1

原创 多重背包究极版-单调队列优化!(acwing多重背包问题Ⅲ)

这个是我最近最引以为傲的理解,(大佬勿喷),咱们话不多说直接上题模板题来自acwing多重背包问题Ⅲ圣人惠额滴神啊!!!!题目:有N种物品和一个容量是V的背包。第i种物品最多有si件,每件体积是vi,价值是wi,求解将哪些物品装入背包,可使物品体积总和不超过背包容量,且价值总和最大。输出最大价值。这里dp的思路:q[l]是小于等于l体积所能装下的价值最大值,k个物品,j遍历的是V/vi的余数,思路的核心,就是利用q[l]来储存体积从j=0到余数的价值最大值直接进行相加,省...

2021-09-25 22:47:00 166

原创 梳理几种背包优化方式和困惑(第一期)

这里是一些背包常见思路和我个人的小困惑的总结。没接触过背包问题的同学请先移步《背包九讲》。01背包:每个“物品”只能使用一次,所以为了避免多次使用同一件物品,我们选择从后向前遍历。滚动数组优化:for i v to cidp[i]=max(dp[i-ci]+wi,dp[i]) (对每个物品)这里曾困扰我的是一个初始化问题:int dp[100005]={};如果是这样初始化的情况只用输出dp[v]便是最大值。(为什么后面说)//Q:当第一次从后向前遍历...

2021-09-24 23:50:39 389

原创 P1896 [SCOI2005]互不侵犯

经典题目,永远的状压第一题,状压思路从这里启蒙状压,就是将每一种状态以一个二进制数来表示,与朴素方法的区别就是能通过位运算进行优化时间复杂度,把要处理的问题降维。比如说一个二维的图能通过将一行的所有状态储存起来,通过遍历每一行的状态,能将整个图遍历。这在判断状态与状态之间的影响时帮助巨大。题目很短:在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。输入:N,K ( 1 <=N &l.

2021-09-24 00:01:49 138

原创 P2704 [NOI2001] 炮兵阵地

泪目,调了一下午的状压,强推,思维很纯粹- [P2704 [NOI2001] 炮兵阵地](https://www.luogu.com.cn/problem/P2704)题目大意就是给一个n*m的图,然后其中有两种地形(H,P),平原地形(P)可以放置棋子,不同棋子之间存在制约关系,如下图黑色的地形不可以放置,问最多可以放置多少个棋子。分析地形:二维数组,0表示P,1表示H。说说思路:因为每个位置存在两种情况(放置棋子/不放棋子),所以每种放置情况可以转化成一个二进制数,且m&l.

2021-09-22 18:39:18 218

原创 洛谷 P1441 砝码称重(dfs+01背包)

- [P1441 砝码称重](https://www.luogu.com.cn/problem/P1441)题意:现有n个砝码,重量分别为ai​,在去掉m个砝码后,问最多能称量出多少不同的重量(不包括0)。dfs找到所有状态void dfs(int pick,int pp){//全排列 if(pp>m)return; //cout<<pick<<" "<<pp<<endl;//debug if(pick==n){ ...

2021-09-21 11:57:57 534

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除