自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jkchen's Haven

尽身为莲,花开佛现

  • 博客(57)
  • 资源 (2)
  • 收藏
  • 关注

原创 Shift - And字符串快速匹配(Regular Number)

知识点应用场合:用来解决字符集有限的情况下,单串匹配,或者规定每种字符的合法位置的情况下的匹配问题。过程:用bitset[i][j]=1表示第iii种字符可以出现在第jjj位使用bitset&ThickSpace;ansbitset \;ansbitsetans记录当前状态到了下一个位置,字符为第iii种时,ans<<=1;ans|=1;ans&=bit[...

2019-07-31 22:26:58 354

原创 Divide the Stones(分石子 构造)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=6616题意:给出n个石子,重量分别为1→n1\to n1→n,现在要求分成kkk堆,要求每一堆的重量相同,问是否可以构造。如果是,输出方案。解析:总重量n(n+1)2\dfrac{n(n+1)}{2}2n(n+1)​,如果不能整除kkk直接不行了。如果可以,每一堆的重量为:n(n+1)2k\df...

2019-07-31 21:09:09 552

原创 Minimal Power of Prime(想法 素因子处理)

原题: http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1010&cid=851题意:50000组案例,给出一个小于1e18的数,求其质因子分解后,所有因子中最小的幂。解析:假设我暴力去除1e181/41e18^{1/4}1e181/4内所有因子,那么剩下来的因子的幂次顶多为3,剩下来的数可能出现的情况为a2,a...

2019-07-31 17:19:04 284

原创 K-th Closest Distance(主席树)

原题: http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1008&cid=851题意:给出一个数组,求某个区间离ppp第kkk近的数是多少(距离为差的绝对值)解析:一眼就是主席树。先二分距离lenlenlen,查询[L,R][L,R][L,R]内有多少个数在[p−len,p+len][p-len,p+len][p...

2019-07-31 17:10:36 364

原创 HDU - 5977 Garden of Eden(树分治 子集合枚举)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=5977题意:给出一棵树,每个节点有值vi∈[1,k]v_i\in[1,k]vi​∈[1,k],现在要求有多少条路径使得路径上[1,k][1,k][1,k]所有值都出现至少一次。(如果路径长度不为0贡献为0)解析:考虑树分治的思想去做。对于当前重心,也就是根GGG,dfs往下得到所有以GGG为起点...

2019-07-30 22:26:21 172

原创 KD树

模板#include<bits/stdc++.h>#define ll long longusing namespace std; const int N=50007;const int K=6; int n,m; struct point{ int a[K]; int div; // 按哪个维度划分 bool lef; // 是否是叶子...

2019-07-30 20:11:31 867

原创 Lucky Coins(概率分析)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=5985题意:给出n种硬币,每种有个数和存活的概率,一直刷,直到没有硬币或者只有一种硬币存活下来,输出每种硬币最后存活的概率。解析:对于一枚iii硬币,其坚持j−1j-1j−1轮,在第jjj论淘汰的概率为pij−1(1−pi)p_i^{j-1}(1-p_i)pij−1​(1−pi​),那么在前jjj...

2019-07-30 19:44:22 845 1

原创 ACM比赛心得

忘记初始化数组开小了i++,j++,k++写混了全局变量和局部变量重名在函数内重新定义与全局变量相同的变量爆栈除0==写成=scanf("%d",a)忘记&爆int,爆long long优先队列优先级a=a|b操作符优先级1<<34爆int4e18+9,精度问题...

2019-07-29 20:18:52 673

原创 2019牛客暑期多校训练营(第四场)—— xor(线性基的交 线段树)

原题: https://ac.nowcoder.com/acm/contest/884/B题意:给出n个集合,m个查询,每个查询(L,R,val)(L,R,val)(L,R,val),询问区间[L,R][L,R][L,R]中的所有集合是否可以通过集合内异或来表示valvalval。解析:异或表示显然就是线性基了,一个线性基是否可以表示一个数大家都会做,现在要求区间内所有线性基是否可以。先...

2019-07-29 19:30:32 329

原创 Fansblog(威尔逊定理 大数阶乘取模)

原题: http://acm.hdu.edu.cn/contests/contest_list.php题意:给出一个质数PPP,找出小于PPP的最大的质数NNN,求出NNN的阶乘模PPP。(P∈[1e10,1e14]P\in[1e10,1e14]P∈[1e10,1e14])解析:有两个定理:当PPP为质数的时候,(P−2)!=1(P-2)!=1(P−2)!=1任意两个质数的差不会超过...

2019-07-29 18:05:44 2554

原创 Graph Games(边分块 区间边翻转)

原题: https://ac.nowcoder.com/acm/contest/883/A题意:给出一个边数组,每个位置为一条无向边。开始时所有边都连着。两种操作:翻转一个区间的边(连改为断,断改为连)问两个点的点集(与之直接相连的点)是否相同解析:可以对边分块,区间修改时,中间一整段的打标记,两边的暴力。为了方便区分点,对每个点随机一个Hash值,点集为点的Hash值异或。那么...

2019-07-27 21:49:02 418

原创 I - string(本质不同子串数量 本质不同回文串数量 两个串跑后缀自动机 回文自动机)

原题: https://ac.nowcoder.com/acm/contest/884/I题意:给出一个串,找出一个最大的子串集合,使得集合内任意两个串不相同(翻转后也算相同:abc=cbaabc=cbaabc=cba)解析:尝试用后缀自动机来做(可以得出出现次数为kkk的子串的数量)。观察一个串与它的翻转:abac,cabaabac,cabaabac,caba。分析情况:设F(s)...

2019-07-27 18:27:15 1692

原创 2019牛客暑期多校训练营(第四场)

A - meeting题意:在一棵树上,多个节点有人。选择一个节点使得这些人到这个点的路径最大值最小。解析:将不存在人的叶子都割掉,知道所有叶子都是人为止,你会发现就是求剩下来树的直径。代码:#include<bits/stdc++.h>using namespace std;const int N=1e5+5;struct node{ int to,nex...

2019-07-27 18:20:43 946

原创 Big Integer(数论)

原题: https://ac.nowcoder.com/acm/contest/883/D题意:F(x)F(x)F(x)表示十进制下的xxx位1(111…111),给出p,n,mp,n,mp,n,m,求有多少个F(ij)%p=0F(i^j)\%p=0F(ij)%p=0,其中i∈[1,n],j∈[1,m]i\in[1,n],j\in[1,m]i∈[1,n],j∈[1,m]。解析:F(k)%...

2019-07-27 10:32:35 218

原创 Removing Stones(笛卡尔树 分治)

原题: https://ac.nowcoder.com/acm/contest/883/G题意:n的数组,求有多少个区间满足区间最大值的两倍不大于区间和。解析:那么就是枚举以某个数为最大值的区间,然后分治做。对于一段区间,左右区间选择一个短的遍历,用二分找到另外一边第一个满足的地方,算一下贡献即可。代码:#include<bits/stdc++.h>using name...

2019-07-26 21:41:34 433

原创 Aninteresting game(lowbit 树状数组性质)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=5975题意:从1到n,到一个位置iii后,贡献为[i−lowbit(i)+1,i−1]+1[i-lowbit(i)+1,i-1]+1[i−lowbit(i)+1,i−1]+1。询问一:查询[L,R][L,R][L,R]的贡献询问二:1到n中,有多少个数的[i−lowbit(i)+1,i−1]包含...

2019-07-26 19:55:23 392

原创 HDU - 5974 - A Simple Math Problem(数学 已知两个数的和的lcm)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=5974题意:给出两个数x,yx,yx,y的和aaa,两个数的lcm:blcm:blcm:b,求着这两个数。解析:设x,yx,yx,y的gcdgcdgcd为kkk,那么有x=ik,y=jk,gcd(i,j)=1x=ik,y=jk,gcd(i,j)=1x=ik,y=jk,gcd(i,j)=1。a=k...

2019-07-26 19:38:15 223

原创 HDU - 5973 Game of Taking Stones(威佐夫博奕 java高精度)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=5973题意:两个石子堆,可以在一堆里面取任意数量的石子,或者两堆中取相同数量。最后一个取完的获胜。解析:就是威佐夫博奕,当min(a,b)=(1+5)(∣a−b∣)2(向下取整)min(a,b)=\dfrac{(1+\sqrt{5})(|a-b|)}{2}(向下取整)min(a,b)=2(1+5​...

2019-07-26 19:29:15 205

原创 笛卡尔树

笛卡尔树同时满足两个性质,从key来看,满足二叉搜索树的特性,从value来看,满足堆的性质。笛卡尔树分小顶和大顶,但实现过程都是一样的。上图为大顶,每个节点都是子树中的值的最大值,且左儿子为左子树的最大值,右儿子同。概念应该一点都没问题,下面讲一下实现过程。我们使用单调栈线性维护。对于大顶堆,我们维护一个递减的单调栈新元素aaa入栈前,找到最大的小于新元素的作为新元素的左儿子l...

2019-07-26 11:27:11 520

原创 2019牛客暑期多校训练营(第三场)

B - Crazy Binary String题意: 求01个数相同的最长01子串和子序列解析:子序列就是少的那个两倍,子串的话,将1看成1,0看成-1做前缀和,那么一个子串的和为0就说明01个数相同代码:#include<bits/stdc++.h>using namespace std; const int maxn=1e5+5;char x[maxn];int...

2019-07-25 18:30:32 264

原创 P2320 [HNOI2006]鬼谷子的钱袋(想法)

原题: https://www.luogu.org/problem/P2320题意:给出一个m,你讲起拆分成最少份,使得可以组成1到m之间的任意数,大于1数只能有一份。解析:以39为例,按照二进制分可以分成1,2,4,8,8,161,2,4,8,8,161,2,4,8,8,16,但是不能出现两个8,怎么改呢?我们把两个8变成777和999,也就是1,2,4,7,9,161,2,4,7,9...

2019-07-25 11:25:15 212

原创 HDU - 5955 Guessing the Dice Roll(AC自动机 高斯消元解dp方程)

#include<stdio.h>#include<string.h>#include<queue>#include<string>#include<iostream>#define maxlen 100005using namespace std;int n,len;int nxt[maxlen][7],FAIL[max...

2019-07-24 19:29:42 323

原创 2019 Multi-University Training Contest 2 —— Keen On Everything But Triangle(组成三角形 斐波那契数列性质 主席树)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=6601题意:给出n数组,每次询问,求出区间内的数可组成的周长最大的三角形。解析:显然在对区间排序后,答案的三个数一定连续。考虑三个连续的数不能组成三角形的情况:有a+b&lt;=ca+b&lt;=ca+b<=c那么极限的情况应该是:1,1,2,3,5,8,13...1,...

2019-07-24 18:33:54 192

原创 2019 Multi-University Training Contest 1 —— Blank(dp)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=6578题意:用4种数字构造一个n长的串,且需要满足所有约束:[L,R][L,R][L,R]种有恰好KKK种数字。解析:分析一下,其实不需要考虑是哪种数字,而是要考虑所有数字的位置,比如012301230123和320132013201其实在状态上没有区别。所以我们可以记录每种数字最后出现的位置,...

2019-07-23 21:49:15 275

原创 2019 Multi-University Training Contest 1 —— Sequence(NTT 高维前缀和)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=6589题意:给出n个数的数组,有三种操作:1:bi=∑j=1iajb_i=\sum_{j=1}^ia_jbi​=∑j=1i​aj​2:bi=∑j=1iaj[2∣i−j]b_i=\sum_{j=1}^ia_j[2|i-j]bi​=∑j=1i​aj​[2∣i−j]2:bi=∑j=1iaj[3∣i−...

2019-07-23 19:45:03 220

原创 C++ 高效位运算函数: __builtin_

之前在看别人代码的时候遇到了__builtin_popcount(n),非常好用哦,然后就去收集了一下写了这篇。下列函数只能用于unsignedunsignedunsigned,每个函数有对应的long,long&ThickSpace;longlong,long \;longlong,longlong版本,在函数最后加上l,lll,lll,ll即可(__builtin_popcoun...

2019-07-23 11:11:25 1289

原创 2019 Multi-University Training Contest 1 —— Code(一条线分开两种点 凸包)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=6590题意:给出多对w1,w2w_1,w_2w1​,w2​,每一对给出fff,问你是否可以找出a,b,ca,b,ca,b,c,满足所有的aw1+bw2+c&gt;0(f=1),aw1+bw2+c&lt;0(f=−1)aw_1+bw_2+c&gt;0(f=1),aw_1+bw_2...

2019-07-22 21:52:25 167

原创 2019 Multi-University Training Contest 1 —— Operation(区间线性基)

原题: http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1002&cid=848题意:给出n个数的数组,有两个操作在[l,r][l,r][l,r]中选择一些数,使之异或最大,输出最大值;在数组后面塞进去一个数。解析:选择一些数异或起来最大,那么就是线性基无疑了。不会线性基的同学可以看一下我的博客。我们考...

2019-07-22 17:44:48 505

原创 E. Check Transcription(字符串Hash)

原题: http://codeforces.com/contest/1056/problem/E题意:给出一个01串,需要对应到另外一个串,你可以让0等于串r1,1等于r2,要求r1不等于r2且都非空,将所有的0和1改变后要等于另外一个串。解析:考虑字符串Hash,枚举0的长度,根据数量和长度算出1的长度,然后一个一个用hash值去判断是否相同即可。这里说一下一种常用的hash以及如何取...

2019-07-21 16:29:44 249

原创 Different Circle Permutation (Burnside引理 环形)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=5868题意:给出n个位置的环,两个相邻的位置不能同时有人,循环同构算相同,问方案数。解析:根据Burnside引理,方案数为所有置换中,不动方案的平均值。第iii种置换为顺时针转动iii个位置,那么会得到gcd(n,i)gcd(n,i)gcd(n,i)个循环节。对于不动方案,显然循环节内的点颜色...

2019-07-21 14:18:11 233

原创 How many times(最多圆覆盖的点)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=3561题意:给出n个圆,求某个点使得被覆盖的圆数量最多。解析:模拟退火过不了,可以参考一下~先二分答案kkk,然后对于答案去跑模拟退火,在计算总距离的时候,只拿出最近的kkk个点的距离和(圆内则为0),那么这个时候退火就会往更多的点去跑。本地跑的话,大数据都没有问题,应该是对的,但是套个二分时间...

2019-07-20 21:10:19 292

原创 Different GCD Subarray Query(区间所有子区间不同gcd的个数)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=5869题意:每次查询给出一个区间,求区间所有子区间的gcd有多少种。解析:以前遇到过类似的题,可以参考一下 https://blog.csdn.net/jk_chen_acmer/article/details/83623234就是说当你固定一端,往一个方向延伸的时候,途中经过的gcd的种类只有...

2019-07-20 11:36:38 384

原创 基环树,最大取值(相邻两个点不能同时取 dp)

题意:每个人指向一个人,好人可以指向任何人,坏人不能指向坏人,给出每个人指向的人,求坏人的最大个数。解析:画一下就知道是一个基环树。对于基环树,我们可以用并查集得到一条环上的路。那么我们将这条路剪掉之后做树形dp,只要保证这条边的两个点不同时为坏人即可。那么我们可以从第一个点做,此时得到dp[a][0]dp[a][0]dp[a][0],第二个点再做一遍得到dp[b][0]dp[b][0]...

2019-07-19 22:10:56 376

原创 教科书般的亵渎(dfs)

题面:教科书般的亵渎Time Limit: 1500MS Memory Limit: 65536KTotal Submissions: 36 Accepted: 3Description“下个回合我给大家演示一波教科书般的亵渎,这里是先撞一下这个,这个相当于是个三,咳,相当于是个四,这里有个四,我不需要四,我需要的是五,五的话,我这个是六,这个不能当五,只能当六,那么我需要一个五,如...

2019-07-19 18:25:45 4369 1

原创 Lightning(生成树计数)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=4305题意:n个点,任意两个点之间可以连边当且仅当距离不大于R,并且中间没有其他边。求生成树个数。解析:判断中间有没有点可以直接n3for,也可以n2log,枚举每个点为起点,其他的点与之形成的向量用map比较是否存在即可。连完边就用矩阵树进行n3做就行了。#include<bits/s...

2019-07-19 10:33:04 256

原创 Hourai Jeweled(树形dp 相邻边不同)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=4303题意:给出一棵树,一对点合法的定义为:路径上任意两条相邻的边值不同。这对点的贡献为路径点权和,求所有合法点对的贡献之和。解析:直接往下dfs(传到儿子的边值),返回值为下面的所有合法儿子的点权之和(儿子的儿子那条边与到儿子的边权相同使不往回传)、以及有多少个合法儿子。先是儿子(以及下面的合...

2019-07-18 21:22:43 211

原创 Divide Chocolate(dp 2*n分成k个块)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=4301题意:求2*n拆成k个块的方案数解析:从左往右遍历,最后一列只有两种状态:上下合在一起和上下分离。设dp[i][j][0]dp[i][j][0]dp[i][j][0]为前i列分成j块,最后一列合在一起的方案数,dp[i][j][1]dp[i][j][1]dp[i][j][1]则为分离的方案...

2019-07-18 19:04:12 225

原创 模板:圆和多边形交

#include <bits/stdc++.h>using namespace std;const double eps = 1e-8;const int inf = 1e20;const int maxp = 1005;const double pi = acos(-1.0);int sgn(double x){ if(fabs(x) < eps) ret...

2019-07-17 20:42:55 359

原创 I - Minimum Spanning Tree(带权最小生成树计数)

原题: http://acm.hdu.edu.cn/showproblem.php?pid=4408题意:给出带权边,求最小生成树的方案数,别人的代码,留个底。#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath&g...

2019-07-17 20:16:41 233

原创 [USACO18JAN]MooTube(到点v路径最小值大于p的个数 离线)

原题: https://www.luogu.org/problemnew/show/P4185题意:边权,每次查询p,vp,vp,v,求树上到点vvv路径上最小值大于等于ppp的点数。解析:离线查询ppp从大到小,每次相当于加入一些符合要求(大于等于p)的边。这个基础上用并查集维护每个连通块的点的数量即可。#include<bits/stdc++.h>using names...

2019-07-17 18:57:47 358

VA_X 相关资源 内含Trial-Reset和安装程序

VA_X 相关资源 内含Trial-Reset和安装程序

2022-02-25

mnist手写数字数字集

5000个mnist手写数字数字集,4500个训练集(Xtrain,ytrain),500个测试集(Xtest,ytest)。 每个样本X有400个特征,10种答案(1~10,10表示0)

2019-12-11

空空如也

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

TA关注的人

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