自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 问答 (1)
  • 收藏
  • 关注

原创 神经网络字符分类

以下的代码判断就是定义一个简单的多层感知器,一共有三层,两个大小为100的隐层和一个大小为10的输出层,因为MNIST数据集是手写0到9的灰度图像,类别有10个,所以最后的输出大小是10。最后输出层的激活函数是Softmax,所以最后的输出层相当于一个分类器。PIL------------> Python Image Library,python第三方图像处理库。numpy---------->python第三方库,用于进行科学计算。os------------->提供了丰富的方法来处理文件和目录。

2024-06-14 11:25:02 958

原创 python实现邮箱轰炸机

​最近在学计算机网络看到套接字的练习于是应用SMTP协议写了个发送邮箱的玩玩可以发一大堆垃圾邮件给对方其中参考了关于发邮件报错535 Error:authentication failed解决方法http://t.csdnimg.cn/Bc0Dq已经查询如何获取网易邮箱客户端授权码base64编码​

2024-06-06 23:44:27 336

原创 C#屏蔽基类成员

要让编译器知道你在故意屏蔽继承的成员,可以用new修饰符。否则程序可以成功编译,但是编译器会警告你隐藏了一个继承的成员。可以用与积累成员名称相同的成员来屏蔽。

2024-05-23 16:04:21 333

原创 卷积神经网络-奥特曼识别

卷积神经网络识别奥特曼

2024-05-21 11:21:23 1336 2

原创 The 2023 ICPC Asia Hefei Regional Contest

B. Queue Sorting I. Linguistics Puzzle D. Balanced Array

2024-05-11 21:23:18 380

原创 The 2024 International Collegiate Programming Contest in Hubei Province, China

H. Genshin Impact Startup Forbidden III K. Points on the Number Axis B I. Colorful Tree

2024-05-02 21:46:57 943 1

原创 黑白棋(蒙特卡洛树搜索)

蒙特卡洛树搜索

2024-04-24 10:53:47 265

原创 L2-052 吉利矩阵

搜索+剪枝

2024-04-21 13:59:59 239

原创 《神经网络与深度学习:案例与实践》动手练习1.3

执行上述算子的反向过程,并验证梯度是否正确。

2024-04-19 20:30:12 482

原创 Android Studio实现页面跳转

cls)构造函数创建Intent实例,第一个参数为当前Context,第二个参数为要启动的目标类。4、Intent(String action, Uri uri) 指定Action类型和Uri的构造函数,URI主要是结合程序之间的数据共享ContentProvider。Intent用于Android程序中各组件(Activity、BroadcastReceive、Service)的交互,并且可以在组件之间传递数据,所有其他字段(操作、数据、类型、类)均为 null,但稍后可以使用显式调用对其进行修改。

2024-04-18 19:25:45 1337

原创 将图片按灰度转换成字符

将图片按灰度转换成字符

2024-04-17 15:05:40 257

原创 “华为杯“华南理工大学程序设计竞赛(同步赛)

“华为杯“华南理工大学程序设计竞赛(同步赛)2024

2024-04-17 14:59:32 402

原创 设计和实现24位位图图片色彩翻转成互补色程序。

24位位图文件分三部分:文件信息头、图像信息头和图像像素数据),我们要搞清楚文件信息头的长度和每个字节的含义,图像信息头的长度和每个字节的含义和像素数据的格式。(提示:24位位图文件中的数据部分定义了每上像素像素单元,每个像素由三个字节组成,分别表示红、绿、蓝(r,g,b)三个分量,假设设这三量分别是x,y,z,那么255-x,255-y,255-z就是它的互补色。(2)读取文件的像素信息头的关键信息,比如:确定像素的有多少行,一行有多少像素等信息。(5)打开目标文件查看翻转后的图片,验证你的代码。

2024-04-16 13:59:28 264

原创 井字棋游戏(最大最小搜索+Alpha-Beta剪枝)

由于学习这个算法,所以大部分的代码来自github上别人的代码。就会有些问题,最主要出在他的minimax结束判断上。checkGameOver全都改了。顺便给minimax函数加点东西。

2024-03-27 23:18:29 433

原创 class 类的基本概念

类的每个实例都是不同的实体,他们有自己的一组数据成员,不同于同一类的其他实例。因为这些数据成员都和类的实例相关,所以称成为实例成员。类的声明只是用于创建类的实例的蓝图,一旦类被声明,就可以创造类的实质。new运算符为任意指定类型的实例分配并初始化空间。类是一个能存储数据并执行代码的数据结构。私有成员只能从声明他的类的内部进行访问。共有成员可以被程序中其他对象访问。包含函数成员和数据成员。

2024-01-30 13:53:21 447 1

原创 Osijek Competitive Programming Camp, Fall 2023. Day 6: Estonian Contest (The 2nd Universal Cup. Stag

回家好久没做题了,写个题解慢慢补吧,可能会补个8题左右。

2024-01-23 19:56:29 487

原创 拼题A 2024 跨年挑战赛

直接枚举矩阵上的每一个点,从每一个点的上下左右出发 ,看看能发现多少烟花,同时如果找身高比h大的就直接结束,最后更新一下最优解,和总个数。从左到右,如果是不带'+'的就两个合成下一个,带'+'的3个合成下一个,同时取模的话就是剩下合成不了的。用一个hash记录a,b,c-->(a * P * P + b * P + c)帮助我们快速匹配。如果不止一个数就把他的最大值删掉,这样vector.back()就是次大值了。按比例 n/10 n/40 n划分。if else 讨论一下。

2024-01-01 22:45:56 822

原创 “华为杯”杭州电子科技大学2023新生编程大赛 完美子串

【代码】“华为杯”杭州电子科技大学2023新生编程大赛 完美子串。

2024-01-01 15:31:40 661

原创 D. 金人旧巷市廛喧 wa43

就是跑到终点,还不能亏钱,流不一定要最大。就是最小费用可行流和最小费用最大流的区别。就是如果流没有到最大就继续跑下去。应该都是写成最小费用最大流。

2023-12-27 14:37:20 419

原创 折半枚举(题目)

因为最近连续两次遇到折半枚举都不会做想写个博客记录一下遇到的折半枚举的题目帮大家省去一些时间去找一些例题如果还遇到的话会持续更新,大家也可以发题目连接在评论区,有时间的话可以把遇到的折半枚举的题目都更新上去2021年中国大学生程序设计竞赛女生专场题解的话有很多,大家可以自己去搜,我是看这篇懂的。

2023-12-22 23:53:40 430

原创 第九届中国大学生程序设计竞赛桂林2023 China Collegiate Programming Contest (CCPC) Guilin Onsite (The 2nd Universal Cu

补题中。G,I,K,M

2023-11-19 10:34:38 539

原创 2023湖南省赛

A,B,C,D,E,F,I,J,K

2023-11-14 11:17:13 757

原创 多比特杯武汉工程大学第六届ACM新生赛(同步赛)D薇尔莉特能拿多少棵碧根果(拓扑)

然后做一遍拓扑,如果有点没有经过就说明以该点为起点可以进入一个环中,这是最大值是1e8。由于目标点只能从众多指向他的点选一个来加,所以我们要维护一个指向他的点的权值的最大值。在一个拓扑图中我们可以容易的判定是否存在一个圆,即圆中的值可以任意取。原图中的边u->v,我们建立方向图即v->u。我们把入读为0的边放入队列中,因为是反向图。我们需要把该点的权值赋给该点指向的目标点。其他情况直接遍历找最大值就行了。给出n个点和m条有向边。

2023-11-07 21:56:58 128

原创 抛硬币有连续x次正面的期望

0.5的概率反面,也就是继续抛直到抛到E(1)的时候结束0.5(1+E(1)),1+E(1)是操作次数。由上面可以推出E(x)=E(x-1)+0.5*1+0.5*(1+E(x))所以E(1)=E(0)+0.5*1+0.5*(1+E(1))每次都需要多乘一个反面的概率,跑个1e5次最后的结果是2。就是刚开始是E(0)也就是抛0次连续的正面需要的期望是0。0.5的概率正面就是结束了也就是0.5*1,1是操作次数。其中x是抛x次,p是在抛第x次后出现连续正面的概率。设抛x次需要的期望是E(x)

2023-10-23 12:25:06 215

原创 ccpc2023秦皇岛F. Mystery of Prime(dp)

当一个数变为1时,他周围的1一定是符合条件的,同时如果有修改成偶数的也一定符合条件。我假设当一个数改变为一个某一个偶数时,他周围的任意的奇数肯定能和他相加变成质数。当一个数变为某一个大于1的奇数时,他周围任意偶数肯定能和他相加变成质数。题目要求改变数组中的数字使相邻数字之和是质数,同时改变数字的次数最少。0修改成大于1的奇数,1修改成偶数,2修改成1, 3不修改。因为改变的数字可以无穷大。我们就可以开4维的dp。

2023-10-20 10:35:01 695

原创 B 开组会(可持久线段树+树剖) 武汉大学2023年新生程序设计竞赛(同步赛)

然后询问的时候询问在root[min(n, dep[x] + t)] 从dfn[x]到dfn[x] + sz[x] - 1。因为你最深的深度是min(n, dep[x] + t) 此时root已经把低于最深的深度的所以数都插入进去了。dep从1-n依次把每个点的权值插入到dfn序中,同时root维护的时当前dep插入完后头节点是啥。在这个节点的基础上往下继续遍历t的深度,在这个遍历的过程中找一个最大值就行了。也就是在root[x]中已经把dep从1-x中的所有的值插入进去了。然后建一颗可持久化线段树。

2023-10-11 10:03:18 102

原创 D. Monocarp and the Set

可以从后往前看,如果是>就删除当前所有数据中最大的数,<删除最小的数 两个都只有1种选择。就是从左往右插入数据如果插入后在当前排最大的话就是>,最小的话就是<,其他?就删除最大最小数除外任意一个数 设当前有x个数 就有x-2种选择。最后再把选择数乘一下就行了。求有多少种插入数据的方法。同时第一个数一定不能是?

2023-10-10 10:43:13 225

原创 2023icpc网络预选赛I. Pa?sWorD(dp)

0-25代表小写字母,26-51代表大写字母,52-61代表大写字母,62代表什么都没有也就是初始状态。其他情况dp[now][i][(k|(1

2023-09-17 23:08:55 1081 1

原创 D1&D2. Candy Party

d1的题意是有n个人每个人都有一定的糖果,同时每个人必须给其他人一次糖果和接收其他人给他的一次糖果,同时给出的糖果和接收的数目都是2^x,最后确保每个人拥有的糖果数目一样。然后开一个数组存储需要的操作次数(这里面的东西是不可以改变的,比如有一个2^x你就必须要用下面数组中的一个-2^x去消除)然后假如要加上2^x的话操作是2^(x+1)-2^x也就是两个2^x能相互抵消并合成一个2^(x+1)d2的要求就是每个人至多给别人一次2^x个数的糖果和至多接收别人一次2^x个数的糖果。也就是可以不接受或者不给出。

2023-09-11 11:46:36 105

原创 高精度乘法模板(fft)

正常高精度复杂度是o(n^2),fft复杂度o(nlogn)

2023-09-03 22:43:49 425

原创 牛客小白月赛77 D-小Why的密码锁(后缀数组)

当出现一个小于m的话,就从小跟堆中,从小往大找,看最长符合要求的次数是否等于k。然后按sa从前往后遍历,如果连续的一段都大于等于m的话,就先存在一个小根堆中。如果k等于1时i,即后缀的第一个数组,只能从1取到n-m+1。首先先按后缀排序,求出sa和height。然后i从1遍历到n-m+1得出最终结果。如果等于k的话结果++特判一下k==1的情况。特判一下是否会出现多次。

2023-09-02 00:07:52 92

原创 牛客练习赛114 G-图上异或难题(线性基)

题目要求把点涂成白和黑两种颜色,如果一条边左右两端是不同的颜色的话,结果就异或这跳边的权值,求结果最大是多少。我们只考虑白色点的情况下,如果一个点A是白色,就把结果异或上这一个点A周围的所有边,如果在该点周围还有一个白色点B的话,那么我们同样把结果异或上这个点B的所有边。因为我们知道两个点是有线段相连,而且两个点都异或上该点周围的所有边了。这时候我们就可以把这个问题转换成一个线性基的问题。已知所以点的贡献是该点异或上周围所有边。所以两个点相邻的线段就被去掉了。把边的贡献转换成点的贡献。

2023-08-26 16:09:51 242

原创 牛客练习赛114 F-Kevin去砍树

题目的要求是找一个点然后以这个点往左或者往右砍树,要求每砍的高度严格小于上一次砍的树的高度,求权值最大。如果c>(a=b)的话我们不知道要砍左边还是右边才是最优的,那我们就可以分两种情况递归下去。如果c>a>b的话因为那么肯定可以先把a砍了再去看后面的。如果a>c>b的话那a就不能砍了,最佳的肯定是把b给砍了。贪心可以知道以极大值为初始点,往左或者往右砍是最佳的。当我们左右都砍不了时也就是递归到边界的时候我们就返回。同时在递归的时候保存他们的最大值。设前一颗砍的高度为c。

2023-08-26 10:50:24 238

原创 2023 CCPC 华为云计算挑战赛 D-塔

然后乘上m轮增加的高度加上初始高度,就是总共增加的高度。通过概率和高度算出第一轮增加的期望。他们的高度的可能性分别为。假如有n个,每轮那k个。

2023-08-24 20:28:18 844

原创 D. Trees and Segments

于是我们就可以知道当你要求前i位翻转j(j<=k)次时最大1的次数,你要找到最大0的次数就是在dp2[m-i][k-j]就是后m-i位翻转k-j次最大0的次数。前7位最大连续1的个数位6个,你的最大连续0的个数就一定要在第8位后面去找。dp[i][j]表示前i位翻转j次出现连续最大1的最大次数。dp2[i][j]表示后i位翻转j次出现连续0的最大次数。dp[i][j]表示前i位翻转j次 最大0的次数。dp2[i][j]表示后i位翻转j次 最大1的次数。题目要求a*l0+l1的值最大。

2023-08-16 12:41:56 181

原创 E. Maximum Monogonosity

dp[i][j][k]--》i表示当前到达第i位,j表示当前取j个元素,k(0~3)用状态压缩表示当第j个元素取al和bl的状态以及前面i-1位中取j-1个元素的最佳状态的和,k(4)表示当前取第i位取j个元素的最佳状态。因为我们上面说你知道ar,al的状态就能知道br,bl的状态:比如bl,al=(1,-1)则br,ar=(1,-1)那bl,al来说有4种不同的状态(1,1),(1,-1),(-1,1),(-1,-1)因为bl和ar相对应,al和bl相对应,那么br,br的状态恰好和ar,al的相反。

2023-08-13 13:18:34 197

原创 K-01BFS(2023河南萌新联赛第(五)场:郑州轻工业大学)

预处理出对于每个单元格四个方向上最多跳多少个单元格可以跳到当前单元格(最长上升子序列),以及从当前单元格跳出最多能跳多少个单元格(最长下降子序列)从下到上的过程你可以反过来看,就是从上走到下,就相当从上到下走了个最长下降子序列。这个拐点是经过左右平移到上下平移或者上下平移到左右平移。左到右就相当于走了个最长上升子序列,然后再从下到上。然后最长上升/下降子序列可以用dp+二分来求。假设这个点事左到右后然后再从下到上。下面是最长上升子序列的代码。经过每个点4个方向的预处理。直接枚举这个图中的拐点。

2023-08-11 21:47:11 457

原创 2023河南萌新联赛第(五)场:郑州轻工业大学C-数位dp

第四位1,12,2,122,22,13,123,23,1223,223,3(5*2+1=11)我们发现第三位的12其实一次从第一位的1加上2继承下去,一次从第二位的1加上一个2继承下去。数组dp[i][j]记录当枚举刀第i个其中所以mod3结果是j的数j=0,1,2。第三位 1,12,2,12,122,22(3*2+0=6)第三位 1,12,2,122,22(3*2+0-1=5)第二位 1,12,2(1*2+1=3)第二位 1,12,2(1*2+1=3)第一位 1(0*2+1=1)

2023-08-09 20:52:20 409

原创 F. Dasha and Nightmares

所以当一个字符串中如果某个字母出现偶数次的话那么一定要有一个出现奇数次的与他相加。就是出现25个奇数的话他们的长度也就是奇数,而奇数只能由奇数+偶数相加得来的。比赛时写的时候没有发现他们中的一些联系,比赛后看别人的代码才发现的。题目要求两个字符串相加他们中小写字母出现的次数等于25。就是说一个字母出现偶数次他在这两串合并并不起多大的作用。就相当于没有出现也可以说出现0次。然后恰好25个枚举某个数没出现过。然后o(n)循环就可以求出来了。每个字母出现的次数恰好是奇数。字符串长度恰好是奇数。

2023-08-07 22:30:23 137

原创 E2. PermuTree (hard version)

题目的本质要求就是从一堆数中选出某些数,使这些数和剩下的数相乘的结果是最大的。t的原因是进行太多次位运算了,中间有一堆不必要的运算耗费大量的时间。首先可以考虑状压dp用位运算的形式去枚举 ,求出一些数。但是又会面临一个问题就是n太大无法一个个的去枚举。那我们可以用二进制的方式来表示他所能到达的位置。于是我们可以将连续出现的3个数中分成a,a+a。然后我们去遍历所能到达的位置求一个最佳状态。就是假如你有2个1的话你肯定想分成1 *1。5个的话(1+1)*((1+1)+1)3个1的话分成(1+1)*1。

2023-08-06 11:02:47 158

空空如也

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

TA关注的人

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