自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)

原创 神经网络初探(BP 算法、手写数字识别)

神经网络的结构就不说了,网上一大堆……这次手写数字识别采用的是 sigmoid 激活函数和 MSE 损失函数。虽然网上说这种方式比不上 softmax 激活函数和交叉熵损失函数,后者更适合用于分类,但是实测前者可以达到 97.4% 的准确率,后者本机只能达到 92% 的准确率(固定学习率不加任何优化)。这里就记录一下计算梯度的方式。对于最后一层,记 did_idi​ 表示点 iii 激活之前的值,vi=sigmoid(di)=11+e−div_i=\text{sigmoid}(d_i)=\frac{

2020-09-11 22:52:13 46

原创 NOI 2020 游记

Day -1到了长沙一中,发现和陈太阳分到了一个宿舍,rp++,然后和舍友颓了一个晚上。Day 0上午开幕式,差点没位置坐,暗示我今年没了?下午笔试,好像有几个笔试题库上没有的题。不过这是小问题,都很水,NOI 唯一能 AK 的一场比赛。最后晚上和舍友聊了聊,还是颓了一个晚上,打了个平衡树睡觉了。Day 1开题,过了大概 20min 左右发现这 T1 好像是个裸矩阵乘法,开始码。大致 1h 的时候码完(键盘实在是不习惯,码了很久)然后自闭的时候到了,我写了大致形如下面的代码:for (i

2020-08-20 21:06:44 1132 4

原创 HDU 2020 多校第七场 游记

队友太强了被带到了 rk11001签到题。枚举区间长度,若干个区间求和的话,就相当于第一个数乘 1,第二个数乘 2……然后中间某一段数字乘 kkk(区间长度),末尾再依次乘 k−1k-1k−1 到 111。直接各种前缀和搞搞就行,复杂度 O(n)O(n)O(n)。#include<bits/stdc++.h>using namespace std;const int mod=1e9+7,maxn=300000;int test,n,a[222222],ans;int inv[333

2020-08-11 21:14:25 1317 2

原创 最小内向森林算法(HDU 6811 Joyful Party)

题目链接题目大意给定一个 nnn 个点的有向图,连边方式是从点 xxx 向区间 [l,r][l,r][l,r] 中的所有点连一条权值为 ccc 的有向边,求该图不小于 KKK 棵树的最大内向森林权值。题解首先把边权取反,转化成最小内向森林问题。最小内向森林注意到最小内向森林权值关于树的个数是个凸函数。于是二分斜率 kkk,建一个新点 TTT,所有点向 TTT 连一条权值为 kkk 的边,然后求最小树形图即可。最小树形图算法是可以使用可并堆(线段树合并)优化到 O(Elog⁡E)O(E \log

2020-08-10 21:49:32 280 1

原创 HDU 2020 多校第四场 游记

这次 1006 挂了 5 发,太惨了 /ll,罚时罚到了 rk7……1001毒瘤三维计算几何,不看不看1002签到题,显然每个武器打死对方所用的时间都能算出来,O(n2)O(n^2)O(n2) 枚举即可。#include <bits/stdc++.h>typedef long long LL;using namespace std;const int MAXN = 1005;int aa[MAXN], dd[MAXN], ta[MAXN], T, n;int main()

2020-07-30 19:15:34 1099

原创 HDU 2020 多校第三场 游记

这次成功靠队友 AK 了,罚时 rk2,orz 队友们!1001套路题,首先考虑怎么算某个字符串 sss 第一次出现的期望步数。考虑 PGF,定义 F(x)F(x)F(x) 为第 iii 步时恰好结束的方案,G(x)G(x)G(x) 为第 iii 步时还未结束的方案。则列出方程:F+G=xG+1G⋅xn26n=∑i∈border(s)F⋅xn−i26n−iF+G=xG+1 \\G \cdot \frac{x^n}{26^n}=\sum_{i \in border(s)}F \cdot \frac{x

2020-07-28 21:50:00 366 1

原创 HDU 2020 多校第二场 游记

咕了整整一天才来写 2333这次邓老师没来 /kk,不过打的还算不错,可惜还是有一题没调出来,不然就是 11 题队了 /ll1001题意好像有点奇怪,不过 djq 还是一眼看对了,拿了这题一血。题解看对题就没啥好说的了,裸签到题,把点按权值从大到小排序,不断加入点,用并查集维护当前连通块个数,乘一下相邻两个权值的差加起来即可。复杂度 O(nlog⁡n)O(n \log n)O(nlogn)。code by djq#include <bits/stdc++.h>#define re

2020-07-25 21:43:50 269

原创 HDU 2020 多校第一场 1007 Hunting Monsters

链接吐槽我开场第一个开的题就是这个,误判断以为是个我不会的中档贪心题,结果扔给 djq 都难以想到做法,然后就自闭了 2333题解真·hard 神题,给出题人点赞!接下来大概就是把英文题解翻译了一遍吧,顺便补了一点证明。观察最初始的贪心部分,相信大家都想到了。我们把怪物分成 Ai>BiA_i > B_iAi​>Bi​ 和 Ai≤BiA_i \le B_iAi​≤Bi​ 的部分,分别记为集合 S,TS,TS,T,那么有以下性质:最终方案任意 TTT 集合的元素必然在 SSS

2020-07-23 11:02:57 313

原创 HDU 2020 多校第一场 游记

和邓老师、戴老师,以及 JS A 队爷 lqs2015 四排了一场多校,感觉很爽。可惜的一点就是 1012 的精度问题,最后都没过,说不定是数据问题呢(大嘘)……不然就是 8 题队了。还有一个可惜的一点就是 1010 djq 的做法被卡常了,也是有点可惜吧。大概整理一下题目(有些难题未完待续)。1013 Cookies链接吐槽被邓老师开场秒了 orz……一血题解强行二合一题,显然二分可以直接算出第 kkk 个(也可以线性直接算,不过无所谓了),唯一的难度在于求 fff。好像目前没发现啥好

2020-07-22 22:50:42 260 3

原创 CF 1368G Shifting Dominoes

题意有一个 n×mn \times mn×m 的网格上放满了 1×21 \times 21×2 的多米诺骨牌,你可以拿走某个多米诺骨牌,然后让剩下某个多米诺骨牌沿着它的长边移动一格(必须要有空位相邻才能移动),这样会让两个空格的位置产生变化。问最终可以产生多少种不同的两个空格位置。题解写了个做法死活过不了样例 3,看到有人写 SegBeats 还以为自己假了,检查了半天,结果是扫描线写挂了……首先冷静分析一下,把空格看成是独立的点,每次移动多米诺骨牌就相当于把空格沿着多米诺骨牌的长边移动两格。于是

2020-07-16 14:18:54 122

原创 CF 1372F Omkar and Modes

题意交互,告诉你一个不降的序列 aaa 长度为 nnn,你可以使用若干次下面的询问:询问 l,rl,rl,r,返回 [l,r][l,r][l,r] 中的众数 xxx 以及它的出现次数 fff。如果有多个众数,返回最小的那个。假设数列中有 kkk 个不同的数字(kkk 不告诉你),你需要在 4k4k4k 次询问中求出这个序列。n≤200000n \le 200000n≤200000题解没看过官方标算,不知道自己的做法和标算一不一样……考虑 solve(l,r)solve(l,r)solve(l,r

2020-07-16 14:03:54 174

原创 LOJ3315 「ZJOI2020」抽卡

题意有 mmm 张卡片,每张卡片上有一个 1∼n1 \sim n1∼n 的数字,数字两两不同。每次随机选择一张卡片(一张卡片可以被多次选择),问期望选多少次,会出现 KKK 个连续的数字。K≤m≤200000,n≤2mK \le m \le 200000,n \le 2mK≤m≤200000,n≤2m题解看到期望选多少次这种东西第一反应是 min-max 容斥,然而做不了……第二反应是对于 iii,算出 iii 步之后仍然没有出现 KKK 个连续数字的概率,加起来就行。记 fjf_jfj​ 表示从

2020-07-09 17:14:22 390 2

原创 LOJ 3313 「ZJOI2020」序列

题意一个长度为 nnn 的序列,你每次可以执行下面三个操作中的一种:选择一个区间,把区间中的数字 −1-1−1。选择一个区间,把区间中编号为奇数的数字 −1-1−1。选择一个区间,把区间中编号为偶数的数字 −1-1−1。问至少需要多少次操作可以把序列全部变成 0.n≤100000,T≤10n \le 100000,T \le 10n≤100000,T≤10题解不知道有没有什么高妙的贪心或者结论,反正 LP 对偶可以暴力做……(如果有高妙做法请留言教教我 /kel)简化版为了方便,我们

2020-07-08 23:51:44 358

原创 LOJ 3311 「ZJOI2020」字符串

这个题刚开始胡了个假做法,导致做完整个题用了一整个下午,我果然还是太菜了……题意长度为 nnn 的串,mmm 组询问,求区间本质不同平方串个数。n,m≤200000n,m \le 200000n,m≤200000题解首先有若干个 djq 说早就被普及了的结论,也不一定需要都用上。引理 1(runs theorem): run 的个数不超过 n−1n-1n−1。证明大概是每个 run 的 lyndon 根不交。引理 2: 每个位置结尾的本原平方串个数为 O(log⁡n)O(\log n)O(l

2020-07-07 18:14:47 413 3

原创 CSP2019 游记

Day-50 to Day -2被六校联合训练各种神仙题血虐,天天被吊打,搞得 CSP 都没信心考了……Day -1和 G1 的神仙们打了一整天 MC,真的是一整天,还被 dyt 嘲讽说我太颓了(可怜)Day 0感觉好虚啊……毕竟自己已经高二了,CSP 再炸就退役了(泪奔)所以赶紧把模板题打了个遍(什么后缀自动机回文自动机splay左偏树也打了一遍),然后晚上更虚了,赶紧打了一晚上隔膜...

2019-11-17 20:18:32 369 1

原创 NOI2019 机器人(多项式+dp)

题目链接题解首先可以考虑暴力区间 dp,fi,j,kf_{i,j,k}fi,j,k​ 表示区间 [i,j][i,j][i,j] 中,所有数字都不超过 kkk 的方案数。显然可以枚举 lll,使 ∣(l−i)−(j−l)∣≤2|(l-i)-(j-l)| \le 2∣(l−i)−(j−l)∣≤2,fi,j,k=fi,j,k−1+∑lfi,l−1,kfl+1,j,k−1f_{i,j,k}=f_{i,...

2019-07-22 08:45:45 1348

原创 JSOI2019精准预测(2-SAT+bitset+乱搞)

题目链接题解:考场上的时候似乎还不太会2-SAT,yy了一个出来还写挂了……暴力的大概思路就是每个时刻,每个人拆成生死两个点,按照2-SAT连边。注意有隐藏条件,就是人死不能复生。由于大部分点都是没用的,也就是说只有出现在条件的xxx中的点才需要被使用,当然T+1T+1T+1时刻肯定也要被用到,那么总共就只有2(n+m)2(n+m)2(n+m)个点。如何判断呢?我们可以两两枚举,判断一个...

2019-05-28 21:59:03 363

原创 HNOI2019 DAY2 题解

校园旅行题目链接题解:这可能是 HNOI2019 里最神的一题了 orz。首先不难发现一个暴力,记 f(i,j)f(i,j)f(i,j) 表示点对 i,ji,ji,j 之间是否存在回文路径,枚举他们的出边暴力转移即可。初始的时候所有的 f(i,i)f(i,i)f(i,i) 和两个颜色相同且相邻的点 f(a,b)f(a,b)f(a,b) 为 truetruetrue,扔到队列里 bfsbfs...

2019-04-15 21:45:39 220

原创 HNOI2019 DAY1 题解

鱼题目链接题解:容易发现等腰三角形个数似乎是 O(n2)O(n^2)O(n2) 的?于是可以计算出任意两个点作为底边,向两个方向的等腰三角形个数。之后显然枚举中心点,然后把其它点极角排序,算出所有等腰三角形的中垂线,然后再枚举一个作为鱼尾,二分+前缀和查询即可。复杂度 O(n2logn)O(n^2logn)O(n2logn)。#include <bits/stdc++.h>u...

2019-04-14 21:38:37 365 1

原创 NOI2018情报中心(虚树+线段树合并)

题目链接题目大意给定一棵 nnn 个节点的树,以及 mmm 条链,每条链有费用,每条边有收益。问选出两条至少一条边重合的链,使链并上的边权和 −-− 两条链的总费用最大。n≤106,m≤2×106n \le 10^6,m\le 2 \times 10^6n≤106,m≤2×106。题解不妨进行分类讨论。首先,如果两条链的 LCA 不是同一个点,那么形成的图应该长这样:(盗个图)那么它...

2019-03-30 11:04:26 429

原创 线性基求交(NFLSOJ #396)

(权限题)题目链接题解首先显然是容斥,根据二项式反演(或者做题经验),可以算出容斥系数。接下来就是要对线性基求交,即对于两个线性空间V1,V2V_1,V_2V1​,V2​,求出其交集 V1∩V2V_1 \cap V_2V1​∩V2​。于是接下来证明几个引理:引理1: 若 V1,V2V_1,V_2V1​,V2​ 都是线性空间,则 V1∩V2V_1 \cap V_2V1​∩V2​ 也是线性空...

2019-03-28 23:33:05 998

原创 HNOI2018排列(堆+并查集)

题目链接题目大意给定数列a(0≤ai≤n)a(0\le a_i\le n)a(0≤ai​≤n),设其排列后的数列为ap1,ap2,...,apna_{p_1},a_{p_2},...,a_{p_n}ap1​​,ap2​​,...,apn​​,要求对于任意的kkk,满足1≤j≤k,apj≠pk1\le j\le k,a_{p_j}\neq p_k1≤j≤k,apj​​̸​=pk​。某个合法排列的...

2019-03-02 20:41:55 90

原创 HNOI2015 实验比较

题目链接题目大意给定一些数字的大小关系,有>,<和=三种情况。保证输入给定的关系对于每个数来说,<=它的数字最多只有一个。求所有数字有多少种不同的相对大小关系。n≤100n\le 100n≤100。题解首先对于等号可以直接缩点,关注到<=某个数字的限制最多只有一个,因此我们从小的向大的连边,形成多棵基环树和树。显然,如果图中有环则无解,因此只剩下来树。为了方便处理...

2019-02-25 21:11:17 128

原创 HNOI2015亚瑟王(期望dp)

题目链接题目大意太长不想写qwq题解首先会发现,如果我们按照每一轮往后dp是行不通的,因为这样需要表示当前所有牌的选择状态。于是我们令f[i][j]f[i][j]f[i][j]表示前iii张牌中,jjj张牌被选了的期望伤害是多少。然后我yy了一个递推式,调了一会儿发现这样行不通……因为第iii张牌的选择状态依赖于前面某些牌的选择状态。既然后面依赖前面,那我们就反过来dp呗……f[i]...

2019-02-24 12:30:31 106

原创 HNOI2016矿区(计算几何+对偶图)

题目链接题目大意给出一个平面图,每次询问一块区域内所有多边形面积的平方和除以所有多边形的面积和。n≤2×105n\le 2\times 10^5n≤2×105题解对偶图神仙题orz……平面图显然可以想到转对偶图做,转化的方法就是对于每条没有visit过的边,找到它的反向边,按照顺时针转动直到有一条新边出现,再沿着那条边走,直到走回来。会发现,这样走的话只会走出两种区域,一种是平面图中...

2019-02-23 17:38:41 142

原创 HNOI2016网络(整体二分+树状数组)

题目链接题目大意给定一棵树,每次有三种事件。1.设定一条路径u→vu\rightarrow vu→v的权值为aaa。2.删除某条设定。3.询问所有存在的设定中,不经过xxx路径的权值最大值是多少。n≤105,m≤2×105n\le 10^5,m\le 2\times 10^5n≤105,m≤2×105。题解刚开始只想到一个O(nlog3n)O(nlog^3n)O(nlog3n)的树...

2019-02-22 20:41:12 119

原创 HNOI2017 抛硬币(组合数学+扩展卢卡斯)

题目链接题目大意给定a,ba,ba,b,考虑所有长度为aaa的01串和长度为bbb的01串,统计所有前者中的1严格比后者多的方案数。答案模10k10^k10k。b≤a≤1015,k≤9,a−b≤10,000b\le a\le 10^{15},k\le 9,a-b\le 10,000b≤a≤1015,k≤9,a−b≤10,000题解神仙思路……a=ba=ba=b的情况很简单,只需要考虑...

2019-02-21 21:57:43 108

原创 [Codeforces 1111E] Tree(虚树+二项式反演)

题目链接题目大意给定一棵树,有一些询问。每次询问给出kkk个点和两个数m,rm,rm,r,表示让原树以rrr为根,把这kkk个点分成至多mmm组,每组内不存在一个点是另一个点的祖先。求方案数膜1000000007.n,Q≤105,∑k≤105,m≤min(k,300)n,Q\le 10^5,\sum k\le 10^5,m\le min(k,300)n,Q≤105,∑k≤105,m≤min(...

2019-02-20 16:36:00 307

原创 HNOI2016序列+数据加强版(前缀和+单调栈)

普通版:题目链接数据加强版:题目链接数据加强版 加强版:题目链接题目大意给定一个数列,每次给出一个区间,求区间中所有子段的最小值之和。n,m≤105n,m\le 10^5n,m≤105题解显然是单调栈先跑一遍,然后接下来有若干个做法:1.莫队这题莫队解法也很神啊qwq考虑加入点时对答案的贡献,以右端点为例。令ppp表示当前询问区间[l,r][l,r][l,r]中的最小值,那么r...

2019-02-18 20:44:00 200

原创 SDOI2018 荣誉称号(树形dp)

题目链接题目大意给定一棵完全二叉树,要求任意一条不拐弯长度为k+1k+1k+1的链(即从某个点不断往上跳kkk次parentparentparent),满足链上所有点的和是mmm的倍数。n≤107,k≤10n\le 10^7,k\le 10n≤107,k≤10题解考虑两条相邻的链a0,a2,...,aka_0,a_2,...,a_ka0​,a2​,...,ak​与a1,a2,...,ak...

2019-02-15 15:18:29 98

原创 SDOI2018 旧试题(莫比乌斯反演+三元环计数)

题目链接题目大意求:∑i=1A∑j=1B∑k=1Cd(ijk)\sum_{i=1}^A\sum_{j=1}^B\sum_{k=1}^Cd(ijk)i=1∑A​j=1∑B​k=1∑C​d(ijk)其中d(i)d(i)d(i)为iii的因数个数。A,B,C≤105A,B,C\le 10^5A,B,C≤105题解居然真的会有这么美妙的结论qwq……d(ijk)=∑a∣i∑b∣j∑c∣k[gc...

2019-02-14 22:55:37 144

原创 SDOI2018 原题识别(主席树)

题目链接题目大意给定nnn个节点的树,其中包含一条非随机生成的长度为kkk的链,剩下的节点均随机父节点连边。每个节点有一个随机的颜色,维护:1.给定x,yx,yx,y,求x,yx,yx,y之间不同颜色数。2.给定x,yx,yx,y,对于所有满足分别在x,yx,yx,y到根的路径上的点a,ba,ba,b,求其询问1的答案之和。n≤105,m≤2×105n\le 10^5,m\le 2\ti...

2019-02-14 18:16:33 552

原创 SDOI2018 反回文串(莫比乌斯反演+Pollard-Rho)

题目链接题目大意求所有的串,满足其所有循环同构串中至少有一个串是回文串。n≤1018n\le 10^{18}n≤1018题解第一步我就想偏了orz……我以为要分析这样串的性质……考虑所有回文串,共有k⌈n2⌉k^{\left\lceil\frac{n}{2}\right\rceil}k⌈2n​⌉个,我们考虑把每个回文串第一个字符挪到后面,不断进行这样的操作,直到形成了新的回文串为止。假...

2019-02-13 20:18:07 130

原创 SDOI2017 天才黑客(虚树+最短路)

题目链接题目大意有向图,每条边有边权,也对应了树上某个点。从一条边走到另一条边时的花费是该边边权以及对应树上点的LCA深度之和。求1号点到其他所有点的最短路。n,m≤50,000n,m\le 50,000n,m≤50,000题解显然的做法是每条边变成点,加上边权点权后跑最短路。但是这样边数是O(m2)O(m^2)O(m2)的,我们需要进行优化。对于原图中一个点,我们把所有和他相邻的边...

2019-02-12 19:44:08 272

原创 SDOI2017 切树游戏(FWT+树链剖分+dp)

题目链接题目大意维护一棵树,支持:1.动态修改某个点权值;2.查询有多少个联通子树异或值为ppp。题解这题感觉比较套路,显然可以列出一个dp方程,发现这是FWT异或卷积的形式。具体的,记f[i]f[i]f[i]为iii的dp数组的FWT卷积,那么f[i]=b[val[i]]∗∏v∈son[i](f[v]+b[0])f[i]=b[val[i]]*\prod_{v\in son[i]} (...

2019-02-12 19:18:41 218

原创 SDOI2017 苹果树(背包dp)

题目链接题目大意树上依赖多重背包,允许从根出发的一条链中每个点上的一个物品免费,求最大价值。题解背包神仙题……首先都能想到的就是枚举某个节点,这个节点到根上的所有节点使用一次免费的机会,那么整棵树就被分成了三部分:1.这条链上所有点剩余物品数量为ai−1a_i-1ai​−1;2.这条链左边所有点不变。3.这条链右边所有点不变。于是这里可以按照dfs序来dp,f[i][j]f[i]...

2019-02-12 19:08:32 143

原创 SDOI2014 向量集(凸包+线段树)

题目链接题目大意两个操作:1.在序列S中加入一个向量;2.求某个向量和S的区间[l,r][l,r][l,r]中向量的点积最大值。n,m≤105n,m\le 10^5n,m≤105题解考虑两个向量(a1,b1),(a2,b2)(a_1,b_1),(a_2,b_2)(a1​,b1​),(a2​,b2​),询问向量为(x,y)(x,y)(x,y)。不妨令a1≤a2a_1\le a_2a1​...

2019-02-12 18:58:16 110

原创 SDOI2014 Lis(网络流)

题目链接题目大意题目已经说得很清楚了qwq。题解首先我们考虑如何计算出最少删除的代价。考虑在dp的过程中,如果iii能够使jjj取到最大值,就连边(i,j)(i,j)(i,j),容易发现,题目就是问去掉一些点使左右不连通求最小代价。于是拆点连边跑最小割即可。但是题目还要字典序最小,我们考虑按C从小到大排序,判断当前边是否在割中,如果在,就割掉。然鹅我们必须及时更新每条边的剩余容量,因...

2019-02-12 17:51:11 152 1

原创 SDOI2015 战略游戏(动态dp)

题目链接题目大意给定一个只有两行的网格图,动态修改边权,查询某两列之间的网格图最小生成树的权值和。n,m≤105n,m\le 10^5n,m≤105题解考虑如何用dp求出整个网格图的最小生成树。f[i][0/1]f[i][0/1]f[i][0/1]分别表示dp到第iii列,两行末尾同属一个连通块/分属两个连通块。那么显然可以转移:0到0,任意连接新加入的3条边其中两条。0到1,连接...

2019-02-12 17:42:03 68

原创 SDOI2016 平凡的骰子(计算几何)

题目链接题目大意给定一个凸多面体,求其抛起后每个面落地的概率。题解这道题其实主要难点在于找重心。凸多边形重心的计算方案应该就是三角剖分,每个三角形的重心就是三个点坐标的平均值。然后把这些重心按照所在三角形的面积加权平均。类比到凸多面体,我们对其进行四面体剖分,每个四面体的重心也就是四个顶点坐标的平均值,重心加权平均出来即可。四面体体积可以用行列式/向量混合积求出。至于为什么,我也不知...

2019-02-12 17:35:04 109

空空如也

空空如也

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