自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 区块链可扩展性技术:闪电网络

哈尔滨工程大学 区块链讨论课2018201125 陈晓龙2018201204 魏金龙参考博客/视频:https://www.bilibili.com/video/BV1yW411B7F5?t=16https://www.bilibili.com/video/BV1et411d7m9?t=553https://www.8btc.com/article/92887https://www.zhihu.com/question/46515457欢迎指正!区块链可扩展性技术:闪电网络区块链技术的瓶

2021-06-06 14:23:03 1718 7

原创 MLP多层感知器pytorch实现过程

多层感知机:Multi-Layer Perceptron多层感知机构建步骤:构建网络模型权重初始化前向传播计算损失反向传播求梯度更新权重1. 构建网络模型多层神经网络中第一层称之为输入层,最后一层称之为输出层,中间的层称之为隐层。在分类模型中,输出层的每一个变量对应一个类别。层与层之间两两单元之间存在连接。在本模型中输入是一个28×2828\times2828×28的图片,所以输入层大小是784,中间两个隐层大小分别是512,128。因为该模型用于识别MNIST手写集,相当于十分类,

2021-05-19 15:12:48 1014 2

原创 【Educational Codeforces Round 102】 E. Minimum Path(分层图最短路)

参考博客:做法1做法2分层图最短路讲解:链接题意给出一个nnn个点mmm条边的带权无向联通图。定义一个经过kkk条边的路径的权重为∑i=1kwei−max⁡i=1kwei+min⁡i=1kwei\sum_{i=1}^{k}w_{ei}−\max_{i=1}^{k}w_{ei}+\min_{i=1}^{k}w_{ei}∑i=1k​wei​−maxi=1k​wei​+mini=1k​wei​。e1,e2,e3,...,eke_{1},e_{2},e_{3},...,e_{k}e1​,e2​,e3​,

2021-01-17 00:48:25 340

原创 【Codeforces Round #694 (Div. 2)】D.Strange Definition

题意给出x,yx, yx,y相邻的定义:如果lcm(x,y)gcd(x,y)\frac{lcm(x,y)}{gcd(x,y)}gcd(x,y)lcm(x,y)​ 是平方数,则称x,yx, yx,y两个数相邻。给出一个长度为nnn的数列,每过一秒钟,数列中的每一个元素会被与它相邻的所有元素的乘积(包括它自身)所替换。给出qqq个询问,问在第wiw_{i}wi​秒时,当前数列中哪个元素有最多的相邻元素,不需要给出这个元素是谁,只要给出它的相邻元素个数。题解首先, lcm(x,y)=x∗ygcd(x,y

2021-01-07 00:24:58 1383 6

原创 2019 CCPC秦皇岛 J 题 MUV LUV EXTRA【KMP 求最小循环节】

题意:原题意是给出一个有理数的前一部分,求这个有理数的无限循环部分是什么。有一个值来评估猜的准确度。转换一下就成了下面的题意:给出一个字符串s,有某一个子串,设p为该子串在s的某个后缀中的匹配长度,l为该子串的长度。这个子串的值就是a * p - b * l。求所有的在s的某个后缀中至少循环一次的所有子串中值最大的是多少。思路:观察给出的计算子串值的式子,我们要让匹配长度尽量长,子串尽量短才能让这个值尽量大。我们发现如果固定了子串匹配的后缀,那么这个最大的值的子串就确定了,它就是这个后缀的最小循环

2020-10-21 23:41:25 215

原创 CF 666 (Div. 2) D. Stoned Game【博弈论】

题意:有nnn堆石头,两个人轮流拿石头。每个人只能从一堆石头中拿走一个,并且这堆石头不能是上一轮另外一个玩家拿过的。谁没有石头拿就输了。思路:设当前所有石头堆的石头数量的总和为SSS。**第一种情况:**如果某一堆石头的个数大于 ⌊S2⌋\lfloor \frac{S}{2} \rfloor⌊2S​⌋ ,那么肯定是先手获胜,就是面临这种情况的玩家必胜。如果一堆石头大于 ⌊S2⌋\lfloor \frac{S}{2} \rfloor⌊2S​⌋ ,那么其它所有石头的和都比这堆石头少。那么先手只要一直拿

2020-09-23 22:36:36 307

原创 2020 杭电多校 第七场 1007(6850) Game

题意:在一个二维平面内,给出nnn个点。两个玩家在二维平面上玩游戏。第一个玩家从第一个点开始操作,两个人轮流操作。游戏规则是,当前玩家从当前所在点跳向另外一个点,要求这个点没有被跳过,且本次跳跃的距离要比上一次跳跃的距离要长。特别的,第一次跳跃可以跳任意长度。题解:每次都从当前剩下的点集中,删去长度最长的边的端点,把这些点放到一个集合中。这个集合中可以跳跃的最长距离就是刚刚删去的距离。这样可以将给出的nnn个点分成若干个集合,每一个集合中能跳的最长距离就是将它删去时候的距离。官方题解给出的伪代码:

2020-08-12 21:41:37 952

原创 2020 HDU 多校第六场 1010 Expectation 【期望 、矩阵树定理】

题意:首先定义了一棵生成树的重量:这棵树所有边的按位与(AND)给出一个无向连通图,随机挑选一个生成树,问这个生成树的重量的期望是多少。题解:做法:数学期望的性质:E(X+Y)=E(X)+E(Y)E(X + Y) = E(X) + E(Y)E(X+Y)=E(X)+E(Y)本题中给出的生成树的重量的定义:所有边的边权的按位与,我们可以拆开,按位来考虑。利用数学期望的性质,可以得到下面的式子:E(ans)=E(x31∗231+x30∗230+...+x0∗20)=E(x31∗231)+E(x30

2020-08-07 22:27:08 179

原创 修改git使用的github账号

使用git时登录一次github账号后,凭据管理器中就会多一条记录。如果想要更换github账号,要在凭据管理器中进行修改。

2020-08-03 00:12:26 623

原创 2020牛客暑假多校第一场 【J题 Easy Integration】

题意:思路:开始是把式子用二项式定理展开,之后各项积分,复杂度为O(n).之后发现多组样例,时间复杂度就不可行了。之后就上OEIS了。。。赛后参照网上网上的题解,需要用nnn次分部积分。分部积分公式:nnn次之后(1−x)(1 - x)(1−x)的指数就变成了000,那么积分就是111了,然后只要考虑前面的系数就可以了。/* * @file J.cpp * @path D:\code\ACM\牛客多校\第一场\J.cpp * @author Xiuchen * @date 202

2020-07-13 01:01:59 540

原创 Codeforces Round #638 (Div. 2) A~C题解

A题意:给出21,22,23,24,...2n2^1,2^2,2^3,2^4,...2^n21,22,23,24,...2n这n个数,n是偶数,将这n个数分成相等的两部分,问如何分配使这两部分的和之差最小,求出这个最小值。题解:我们知道21+22+23+...+2n−1<2n2^1 + 2^2 + 2^3 + ... +2^{n- 1} < 2^n21+22+23+...+2n...

2020-05-03 00:31:57 189

原创 Educational Codeforces Round 86 D.Multiple Testcases【贪心 + 思维】

题目链接题意:给出nnn个超过kkk的数,对这nnn个数进行分组。要求每个组中,大于等于i的数不超过c[i]c[i]c[i]个, c[i]c[i]c[i]是题目给出的数组。问最少需要分多少组,并给出分组方案。题解:求最小分组。首先,我们可以求出至少需要多少组,或者说需要的组数不能比它更小了。我们先不讨论这个组数能不能满足题目要求。我们可以简单的求出大于iii的数的个数。对于每...

2020-04-29 00:05:32 266

原创 MySQL 基础语句学习

1. 进入数据库通过 mysql -u root -p语句进入数据库,输入密码。数据定义语言建表:create table [表名]{ [列名] [数据类型] [列级完整性约束条件] ... [表级完整性条件]};插入元组:目标:插入元组语句:insert into [表名]([colname], [colname], [colname], [列名]) value...

2020-04-27 22:24:30 195

原创 牛客练习赛1 树 dp + dfs序

题目链接题解:一开始考虑树形DP自底向上更新发现儿子多的时候情况太多,无法考虑。可以按照dfs序对树上的点一个个进行染色。这样对一个节点x进行染色的时候,它的父亲节点已经被染色了。定义状态dp[i][j]dp[i][j]dp[i][j]为dfs序中前iii个节点用jjj种颜色染色有多少种方案。对于第iii个结点进行染色时有两种选择:选择前i−1i - 1i−1个结点已经用过的颜色。那...

2020-04-09 21:24:56 262

原创 Codeforces Round #632 (Div. 2) D. Dreamoon Likes Sequences (思维 + 乘法原理)

题意:给出一个上限ddd,和一个模数mmm,计算符合下列条件的数列aaa的个数:数列aaa的长度大于等于111。数列aaa的最小值大于等于111,最大值小于等于ddd,且是严格单调递增的。对于aaa用如下方式构造一个数列bbb, 要求构造的数列bbb是严格单调递增的。b1=a1b_1 = a_1b1​=a1​bi=bi−1⨁ai(i≥1)b_i = b_{i -1} \bigoplu...

2020-04-07 18:58:42 362

原创 P1525 关押罪犯【扩展域并查集】

题意:题目链接题解:就是让最大的冲突最小。我们从边权考虑,首先将边按边权从大到小排序,依次处理每一个边。我们尽量的使当前处理边权不出现,如果这个边权不可避免地一定会出现,那么最大值一定是当前处理的边权。可以使用扩展域并查集来判断一个边是否是可以避免出现。将一个点x拆分成连个点,x0x_0x0​表示与xxx在同一个监狱的犯人,x1x_1x1​表示不与xxx在同一个监狱的犯人。在判断一条...

2020-03-31 01:06:32 207

原创 【Codeforces Round #624】 F. Moving Points 离散化 + 树状数组

把non−integernon-integernon−integer 看成非负整数了。。。想了半天样例三是咋回事,看了洛谷的翻译才反应过来。。。题意:思路:对于每个点,我们只需要将它与它左边的点的距离累加起来就是最后答案。结论首先考虑一个点的速度为正的情况,考虑它与它左边的点的距离。如果左边的点的速度为负,那么距离为两点的坐标差。如果左边的点的速度为正且速度小于等于这个点的速度, ...

2020-03-25 21:22:08 161

原创 Educational Codeforces Round 83 (Rated for Div. 2) E. Array Shrinking 区间DP

题意:给出一个序列 a[1],a[2],a[3],...,a[n]a[1], a[2], a[3], ..., a[n]a[1],a[2],a[3],...,a[n]。可以进行如下操作:选择两个相邻且相等的元素a[i],a[i+1]a[i], a[i + 1]a[i],a[i+1],将它们用一个元素a[i]+1a[i] + 1a[i]+1代替。问最后剩下的序列最短的长度是多少。思路:首先...

2020-03-13 21:13:17 169

原创 【Ozon Tech Challenge 2020】 C. Kuroni and Impossible Calculation 模数

题意:给出一个数列a[]a[]a[],以及一个模数mmm,计算∏1<=i<j<=n∣a[i]−a[j]∣\prod_{1 <= i < j <= n} \left|a[i] - a[j]\right|∏1<=i<j<=n​∣a[i]−a[j]∣.数据范围:1<=n<=2∗105,1<=m<=1000,0<=a[...

2020-03-04 10:34:19 291

原创 P2221 高速公路 线段树 + 期望

题目大意:题目链接给出一个序列A[]A[ ]A[],初始值为0。有一个问题:给定l,rl,rl,r,在第lll个到第rrr个数之间等概率随机的挑选两个不同的数a,ba, ba,b, 那么a,ba,ba,b之间的区间和的期望值是多少。有以下两种操作:C l r v 表示区间从lll到rrr的值增加vvv。Q l r 回答上述问题。思路:题目中的l,rl,rl,r表示节点,在这里我们...

2020-02-29 23:57:13 192

原创 P2574 XOR的艺术 线段树 延迟标记

题目大意:给定一个010101串,有如下两个操作:一、统计区间[l,r][l, r][l,r]中的 111 的个数二、将区间[l,r][l, r][l,r]内的 000 变成 111,111 变成 000做法:只需要对线段树的延迟标记做一些修改即可。线段树节点维护区间内 111 的个数。进行一次 二 操作,那么区间中的 111 的个数就会变成原来 000 的个数,也就是将线段树维护的...

2020-02-26 23:50:24 165

原创 Codeforces 1042 D - Petya and Array【树状数组】

思路:树状数组+离散化条件可转化为pre[r]−pre[l−1]<tpre[r]-pre[l-1]<tpre[r]−pre[l−1]<t,即pre[r]−t<pre[l−1]pre[r]-t<pre[l-1]pre[r]−t<pre[l−1],这就转化为一个类似二维偏序的东西。l−1l-1l−1的取值范围[0,r−1][0,r-1][0,r−1],即对每一...

2019-10-05 12:32:53 302

原创 Educational Codeforces Round 73 (Rated for Div. 2) D. Make The Fence Great Again(DP)

题意:给出一排木板的高度和将这些木板提升1个高度的代价。问使这些木板达到没有相邻的两块木板相等的情况的最小代价。思路:二维DP本题关键:对于每一块木板,最多提高两次。如果一个木板提高了三次才和两边的木板高度不等,那么提高两次一定和某个木块相等,同理也有一个木块等于提高一个的长度。那么这个木块就干脆不提高就行,这与提高三次矛盾。所以可以得出最多提高两次的结论。根据这个结论就可以定义状态...

2019-09-21 01:37:39 185

原创 洛谷 P1136 迎接教主【线性DP】

思路:线性DP我们可以定义状态dp[i][j][k]表示前i个字符,‘j’改变成’z’ j 次,‘z’改变成’j’ k次。交换两个字母,不会做无谓的操作,即不会交换两个相同的字母,所以交换m次,就会有m个’j’变成’z’,m个’z’变成’j’。所以在j==kj==kj==k的时候就是交换的的时候,这时候更新答案。遍历每一个字符,首先让dp[i][j][k]=dp[i−1][j][k]...

2019-09-18 20:41:51 172

原创 Educational Codeforces Round 72 (Rated for Div. 2) D. Coloring Edges

题意:给定一个有向图。给所有的边染色,要求一个环中的边,不能全是一个颜色。问最少需要多少个颜色,才能满足条件,并输出每个边所染的颜色。思路:首先要明确的是,最少的颜色,不是1就是2。如果这个图里面无环的话,那么所有的边都染成一个颜色,就符合题意。有环的情况一定是2.,关键是怎么染的问题。==在一个环中,一定存在一个反向边(就是编号大的结点指向编号小的结点的边)。否则的话,编号最大的结点就没...

2019-09-06 22:50:19 105

原创 Educational Codeforces Round 72 (Rated for Div. 2) C.Good String

题意:给出一个01字符串。对于一个字串,如果这个字串表示的二进制数等于这个字串的长度,那么这个字串就是一个“Good String”。求给出字符串中有多少个“Good String”。思路:一个“Good String" 一定对应一个从左到右的第一个1。那么遍历所有的1,求以这个1为第一个1的字串有多少个“Good String”,就可以得出所有的”Good String“.如果这个字串...

2019-09-06 22:38:42 126

原创 Java 大数加法、乘法

大数加法 CF 1181 Bimport java.io.*;import java.util.*;import java.math.*;public class Main { public static void main(String[] args) { Scanner input = new Scanner(System.in); int l = input.nextIn...

2019-09-01 20:58:35 180

原创 CodeForces 1132F(区间DP)

题意:给定一个字符串,每次可以删除连续的相同的字符。问需要多少次能删除全部的字符。思路:区间DP。dp[l][r] 表示l~r区间所需要的最小次数。对于每一段区间,考虑两种情况。左右端点相同,那么删除右端点的时候会将左端点一并删除,所以就可以相当于不考虑左端点,就可以由dp[l+1][r],或者dp[l][r-1]转移。这种情况最优解有可能是分不成左右两个子问题的,可能每次都在区...

2019-08-29 19:36:36 233

原创 BZOJ 4318 OSU!【期望DP】

被大佬口中的水题折磨了,看了很多博客,开始怀疑自己的智商,直到看到了这篇博客:https://blog.csdn.net/PoPoQQQ/article/details/49512533.Orz 还是要自己梳理一下。题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=4318.题意:一个长度为n的01串,给定每个位置为1的概率为p...

2019-08-20 20:01:56 145

原创 HDU 3746 Cyclic Nacklace(KMP循环节问题)

题意:给出一个串,可以在左端或右端加字符。问使这个串至少有两个循环节,至少要加多少个字符。其实在左和右加是一样的,这里我们讨论在右加。关于KMP循环节问题:首先可以确定一个事情,就是一个字符串,它可以分为两类。1.不完整的循环串2.完整的循环串比如abcabcabc就是一个有三个循环节的完整的循环串,而abcabca就是有两个循环节的不完整的循环串,它要加上ab才能成为有三个循环节的完...

2019-08-17 14:11:13 233

原创 codeforces 620E New Year Tree(线段树+dfs序+状态压缩)

题目链接:题目链接.题意:给出以1为根结点的有n个结点的有根树。有m个操作。第一种操作:将v结点的子树全部变为c颜色。第二种操作:输出以v结点为根的子树有多少种不同的颜色。初始给出每个结点的颜色。关于dfs序与线段树:看到将某一个结点的子树全部怎么怎么样,就很容易想到dfs+线段树。线段树是维护一段区间的问题,而将子树全部怎么怎么样跟将一个区间怎么怎么样是一样的在时间复杂度内难以...

2019-08-15 12:38:26 147

原创 POJ 3667 Hotel(线段树区间合并)

题意:给出n个房间,m个操作,操作有两种操作1:需要x个连续的房间,如果存在则输出开始的房间,并占用,要求尽量小,没有的话则输出0.操作2:从x开始的连续y个房间,解除占用。关于区间合并:区间合并问题一般是要求满足条件的一段连续的区间,个人觉得这类问题一个精华所在就是线段树的pushup函数的写法,如下:/*ls表示区间的满足条件最长连续前缀,rs表示最长连续后缀,ms表示该区间的最...

2019-08-15 11:59:25 152

原创 P2184 贪婪大陆(树状数组)

题意:第一种操作是每次在一个区间布置添加一种地雷,第二种操作求指定区间地雷种类。思路:利用前缀和的思想,[L,R]之间的地雷种数等于1~R之间的地雷种数减去 1~R之间那些没有在[L,R]之间的种数。1到R之间的地雷种数就是1~R之间的左端点个数。没有布置到[L,R]之间的,就是在1~L-1里就已经布置结束的个数,也就是1到L-1之间的右端点个数。所以就用树状数组维护前缀的左端点与右端...

2019-08-11 12:24:24 243

原创 HDU 3038(带权并查集)

题意:简单来说,给出n句话,判断谎言的个数,谎言就是与前面真话冲突的话。带权并查集的典型题。对带权并查集的理解:个人觉得带权并查集就是给出了结点的相对关系,已知相对关系的点就放到一个连通的块里,也就是并查集有同一个根节点。这些相对关系又能转化到一个结点上,这个结点就是它们共有根节点,而转化到同一结点的过程就是路径压缩的过程。权值即数组r[ ]里面的值是该结点到其父节点的距离,只是在路径压缩...

2019-08-08 22:57:27 455

原创 洛谷P1140 相似基因(线性DP)

题意:给出两个给定长度的基因串,然后给出各个碱基之间匹配的相似度,碱基也可以与空碱基配对,问这两串基因匹配的最大相似度。做法:首先是自己yy了一个类似及其麻烦的做法,然后发现字符串的长度是不定的,不一定第一个基因串一定比第二个基因串长,错的一塌糊涂。下面是正解。dp[i][j]表示前i个碱基与前j个碱基匹配的情况,只看它们匹配结果的结尾可以分为三种情况:1.i与j匹配2.i和空格匹配...

2019-08-07 19:27:10 313

原创 kuangbin dp基础个人部分总结

主要是一些典型的问题。学艺不精,欢迎指出错误POJ 2533 Longest Ordered Subsequence(LIS裸题)HDU 1069 Monkey and Banana(转化LIS)HDU 1160 FatMouse's Speed(转化为LIS)HDU 1074 Doing Homework(状压DP)POJ 2533 Longest Ordered Subsequence...

2019-07-17 17:14:57 318

空空如也

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

TA关注的人

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