自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 计算几何 存点模版

【代码】计算几何 存点模版。

2023-02-15 23:45:38 183 1

原创 F. Rebrending

此题类似分块的做法很有趣,听说是一个很老的套路,但是我不会。这场居然rated,真是活久见。

2023-02-13 21:59:29 222

原创 操作系统伙伴算法仿真c++

刚刚看了看算法原理,然后根据自己的理解就写了,没有具体的学过,所以不能保证一定正确。无链表,无指针,无解释,无检查,无正确性。如有错误,请各位大佬指正!

2022-12-01 13:02:40 335

原创 在远程服务器上使用tensorboard方法

指令中 -L 是建立映射关系,即将服务器上8091端口映射到本地的8090端口。其中ip和port是服务器的ip地址和端口,user是用户名,一般为root。在输入该指令后需要输入服务器密码建立连接。打开网址,使用tensorboard可视化。服务器终端打开tensorboard。

2022-11-21 21:29:47 2964 4

原创 RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED【解决方法】

于是我怀疑是师兄把cuda版本换了,于是检查pytorch和cuda的版本,发现没的问题。昨天还能正常实验,今天就突然报错了,到网上找解决方案,大多数都说是版本问题。查看GPU状态,发现cuda:0的利用率是100%了。于是将device换成cuda:1,成功运行。

2022-11-18 12:49:20 5412 2

原创 Lucas定理

费马小定理求逆元要求n与mod互质,当n很大时,可能出现。这种情况,因此不能直接通过求逆元求解组合数。

2022-11-05 11:18:10 99

原创 E Parity Split (江西CCPC省赛)题解

首先,我们可以很容易的确定此题为dp题,那么dp的本质无非是从前一个状态推现态。但是,题目是可以分成若干部分的,我们该如何从这三个简单的结论,推到整体上呢?solo了这场省赛,第三题开到此题,想了一小时,发现不会写,最后5题结束。不难分析出,我们可以将所给出的字符串转化为01串,再通过前缀异或和,以。我们通过数据范围可以发现此题解决此题的算法时间复杂度应该是。然而实际上,此题不是。现在应该思考,我们的状态转移方程是什么?通过以往的经验,此题应该是用长度为。为中心,其对答案的贡献应该为。

2022-11-03 21:34:35 388

原创 后缀数组模版(自写)

后缀数组

2022-10-22 12:35:55 123

原创 D. Ela and the Wiring Wizard

cf

2022-10-12 01:10:33 92

原创 字符比较的问题

字符比较

2022-10-09 00:09:48 76

原创 集成并查集

dsu

2022-09-07 17:58:26 89

原创 后缀自动机(sam)板子 from jly

sam

2022-07-27 17:17:49 172

原创 HDU多校第二场 1011 DOS Card

线段树

2022-07-22 12:47:21 353

原创 再学EXKMP(EXKMP模板)

EXKMP模板

2022-07-20 15:14:49 111

原创 NTT模板

ntt

2022-06-30 21:07:34 265

原创 F - Lottery

传送门:ATC正文:此题是一道很妙的dp题。总所周知,动态规划有两大难点,第一是想到这是一道dp题,第二是想到正确的状态转移方程首先想聊聊怎么想到此题可以用dp来解:我们在想题目的时候,可以想往最暴力的方式去想,想想这题可不可以通过枚举求得正确答案,如果可以,那么此题就可能可以用dp求解,然后再想想不同项之间存不存在状态转移关系(一般想不出来),如果存在就是dp了。回到此题,可以明显发现此题可以通过枚举状态来得到正确答案,所以我们的目标就变成找到状态转移式子。题目给出三个变量 : n

2022-03-13 18:14:34 646 3

原创 E - Edge Deletion

传送门:ATC正文:初解此题,先用弗洛伊德跑了一遍最短路,然后再判断两点之间的距离C是否大于两点之间的最短路,如果大于,则这条边一定可以remove。但是,我不知道如何解决距离C正好等于两点之间最短路的情况。此题妙就妙在判断等于的情况,我们可以把等于的情况分成两个部分:1,该边正好是两点之间的唯一最短路,如果是这种情况,则该边不能删。2,该边不是唯一最短路,即存在另外一条链,该链顶点数>=3,则该边可以删除。那么我们该如何判断这条边是属于情况1还是情况2呢?我们可以通过..

2022-03-13 13:04:03 539

原创 G. Counting Shortcuts

此题的判断条件挺有趣的AC代码:#include<bits/stdc++.h>using namespace std;#define ll long longconst int mod = 1e9+7;int main(){ ios::sync_with_stdio(false); cin.tie(0); int T; cin>>T; while(T--){ int n,m; cin>

2022-03-10 19:34:49 276 1

原创 背包问题 --- 路径回溯的方式

传送门:CFAC代码:#include<bits/stdc++.h>using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(0); int T; cin>>T; while(T--){ int n, m; cin>>n>>m; vector<int>a(n);

2022-03-10 19:07:44 189

原创 树状数组的另一种写法(下标从0开始到n-1)

template <typename T>class fenwick { public: vector<T> fenw; int n; fenwick(int _n) : n(_n) { fenw.resize(n); } void modify(int x, T v) { while (x < n) { fenw[x] += v; x |= (x + 1); } } T get(in.

2022-02-23 14:47:14 1581

原创 D. Yet Another Minimization Problem

传送门:CF前言:过完年的这么几把,把把掉大分,从1850调到1700,真实酸爽。这场D的dp是一个很妙的点(至少我不会),看了 小t 的代码后,醍醐灌顶(小t如药也,善读可以医愚)。正文:首先看下数据范围,给了2秒的实现加上n为100,我初解的时候觉得是一个暴力枚举的题,所以压根就没往化简式子+dp上面想。所以掉大分。通过化简式子,可以得到,最优的时候是当然,很难得到最完美的情况,所以只要尽量接近就行。然而我们该怎么找到这个最优的和呢?我最初的想法是暴力,但是MLE了(我是

2022-02-13 20:38:03 636

原创 欧拉函数+欧拉降幂

前言:不知道为什么,最近几场比赛都是数学场,整的我和自闭儿一样......昨天牛客的比赛有一个关于欧拉降幂的题,因为是知识盲区再加上喝了假酒,于是寄。正文:在学欧拉降幂之前要知道什么是欧拉函数。在数论,对正整数n,欧拉函数是小于或等于n的正整数中与n互质的数的数目(φ(1)=1)。求欧拉函数的两个方法方法一:线性求解前置定理:如果 ,其中为质数,则 ,否则线性求解只用在欧拉筛上加一点东西就行,代码如下: vector<int>phi(2e5+...

2022-02-09 15:37:24 583

原创 字典序最小的拓扑排序

传送门:https://www.luogu.com.cn/problem/P3243​​​​​​正文:求字典序最小的拓扑排序实际上就是反向拓扑排序,我们每次保证最后一个为能取到的最大值,就可以保证字典序最小。AC代码:#include<bits/stdc++.h>using namespace std;struct AC { int u, v, next;};int main() { ios::sync_with_stdio(false); cin.tie(0

2022-01-18 14:12:17 1019

原创 python 无拷贝,浅拷贝,深拷贝的区别

核心要义:python一切皆对象。无拷贝:a=[1,2,3]b=ab.append(1)print(a)这里,a相当于一个指向列表[1,2,3]的指针。b=a,相当于b和a指向了同一个对象 [1,2,3]b.append(1),相当于对b指向的对象[1,2,3]操作,使得其指向的对象变为[1,2,3,1]而a和b指向的是同一个对象,所以print(a) 的结果是[1,2,3,1]浅拷贝:python中浅拷贝需要用到copy()函数。a=[1,2,[9,9],3

2022-01-17 19:46:26 333

原创 D. Not Adding

传送门:CF正文:这道题是一道数论题,有两种解法,都挺有趣的。解法一:#include<bits/stdc++.h>#define maxn 1000005using namespace std;int a[maxn];bool vis[maxn];int main(){ ios::sync_with_stdio(false); cin.tie(0); int n,ans=0; cin>>n; for(int i=1;i<=n;i++) c

2022-01-16 20:04:26 4456 1

原创 C. Road Optimization

前言:这场其实不想打的,因为报名的时候已经开了十分钟了......在初做此题的时候,我直接把这道题当成了傻逼贪心,交了一发WA8,认为贪心没毛病,可能爆int了,于是乎陷入了长时间的无意义的纠错环节......突然灵感来了,觉得可能是dp,但是我脑子抽了,想的是dp , 于是裂开。传送门:CF正文:这道题首先想聊聊为什么是一道dp。其实判断是不是dp的最快的方法就是想:移走个标志的最优方案是不是在移走个标志的最优方案的基础之上的。如果是,则可以贪心写,如果不是,就要枚举所有的可能,因为暴..

2022-01-13 00:07:59 655 3

原创 LCA 在线算法-倍增

前言:很早之前学过一个基于并查集的LCA的离线算法,但这么久过去了,在比赛中没遇到过,反而是LCA倍增算法用的比较多。于是,这里就复习一下基于倍增的LCA在线算法。正文:在聊算法核心思想之前,我们先聊一聊一个常数优化:vector<int>lg(n + 1);for (int i = 1; i <= n; i++) { lg[i] = lg[i - 1] + ((1 << lg[i - 1]) == i);}其中,关于这个常数优化可以自己动手推推。L

2022-01-08 11:59:39 428

原创 python 中 zip()的用法

kase = "isok"cnt = "we"print(type(zip(kase,cnt)))print(list(zip(kase,cnt)))print(tuple(zip(kase,cnt)))输出:

2022-01-05 23:38:03 361

原创 D. Robot Cleaner Revisit

前言:好像已经很久没有写过题解了,感觉都是半个退役老人了,哈哈。怎么说呢,这个赛季发生了很多不好事情,有一段时间很低迷,很抑郁,很不甘心(每次想到这里眼泪就会控制不住),但现在到另一个环境下修养了一个月后,心态变好了很多,很多事情想通了,想明白了,以前我唾口大骂的事情现在看也没什么,都是人之常情罢了。在经过一段时间的思想斗争过后,还是打算再征战一年吧,希望这一年我的实力能够更进一层楼吧!传送门:CF题目:题解:此题是一道2300分的概率期望的题,在我看来挺有意思的(我是菜狗)。可能是

2022-01-02 21:20:39 349

转载 pd.read_csv参数详解

pd.read_csv参数详解转自:pandas.read_csv参数详解 - 李旭sam - 博客园参数:filepath_or_buffer :str,pathlib。str, pathlib.Path, py._path.local.LocalPath or any object with a read() method (such as a file handle or StringIO)可以是URL,可用URL类型包括:http, ftp, s3和文件。对于多文件正在准备中本地文件读取.

2021-09-29 19:49:51 22630

原创 E. Non-Decreasing Dilemma

传送门:CF前言:嗯,看了题解就是一个普通的线段树,所以就是硬搞,嗯,搞,嗯,搞,嗯,搞。于是一晚上的美好时间就被这道题搞没了......具有纪念意义的AC代码如下:#include<bits/stdc++.h>using namespace std;#define ll long longstruct AC { ll ln, rn, ls, rs, v;};int main() { ios::sync_with_stdio(false); cin.tie(0)

2021-09-06 21:15:56 331

原创 AtCoder Beginner Contest 217 F Make Pair

传送门:F算法核心:区间dp+组合数。正文:题目的意思如下:一共有2*n个人,每次选择相邻的关系好的两个人,将他们删去,进行该操作n次,也就是将所有人删去,问方案数是多少。首先,在看到这道题的时候,应该有一种感觉,这道题应该是dp。我们先将A与B关系好转化为A与B之间有一条边。对于dp题,我们往往考虑单一元素对整体的影响,也就是一条边对答案的影响。那么情况就分两种:一种是A,B在边界:一种是A在内部,B在边界:这时候有人会提出A,B都在内部的情况。实际..

2021-09-05 19:49:39 288 2

原创 C. Compressed Bracket Sequence

传送门:CF前言:这应该是暑假的最后一场CF了,我的掉分之旅终于要结束了,一个月了,场场掉分,从1700掉到1500,这一场直接掉了80。轻轻跪下~~~ 其实这场的C已经是一个被CF玩烂掉的点了,但我还是没写出来,好吧,我承认,我是fw。正文: 题目要求找符合条件的括号序列的个数。举个例子: 这个括号串可以构成7个不同的字串使得每一个字串都满足括号序列。 如果直接计算这个串里有多少个字...

2021-08-31 12:12:08 288 3

原创 F2. Nearest Beautiful Number (hard version)

传送门:CF前言:开了这场div3,但是F1和F2都不会写。F2是一个2100的dp题,看来如果想要AKdiv3,就要连连2100难度的题目了。希望大二有机会能够解锁 AKcodeforcediv3的成就。(手动狗头)思路:这道题最常见的做法是数位dp,但是身为dp选手的我,不会呀。这里要聊的是ksun48大佬的解法。题目要求找一个最小的数x,使得x>=n,且x种出现的数字种类不超过k种。可以这样想,要保证最小,就说明,我们要改变的是靠后的数字。下面分两种情况讨

2021-08-21 20:28:35 195

原创 牛客第九场 E题 可持续化线段树+dfs序+树上倍增

#include<bits/stdc++.h>using namespace std;#define deb cout<<"find::"<<endlstruct AC { int ls, rs, num;};int main() { ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector<vector<int>>v(n + 1, vect.

2021-08-18 21:08:27 112

原创 最大异或和 (可持续化字典树)

传送门:最大异或和前言:这道题是一个经典的可持久化的题。可持久化的思想就是通过空间优化存储每一时刻的状态,以便在后续的询问中能够用快速查询。思路:此题问的是的最大值。那么先不考虑给定的范围。将问题转化为找到一个位置,使得最大。那么这个问题怎么解决呢?这里需要补充一个前置知识:那么我们可以先预处理一个数组,用于存储前n项的异或和,再通过逐位去对比,找到一个满足条件的最大值即可。举个小小的栗子:假设的二进制表示为 1001010。那么最理想的 能使最大的的二进..

2021-08-18 16:22:46 851

原创 Johnson 全源最短路径算法

前言:因为太久没学图论了,以前学的图论的知识都差不多忘光了。于是我开启了这及其令人痛苦的图论学习生涯。传送门:大佬的博客~~~~上面的博客写的很好,Johnson的核心就是将负边变正。从而可以每个点跑一遍迪杰斯特拉算法。这个算法很好理解,但是却写的我头皮发麻。洛谷的板子题:洛谷P5905这题我对着题解写代码,一行一行的找bug,最后发现是auto的锅。我们可以利用auto 来快速遍历vector容器,但不能用其来修改。什么意思呢?先看下列代码:for...

2021-08-07 18:42:59 461

原创 D. Integers Have Friends

传送门:CF前言:放假以来,一直掉分,这场也不例外,前三题思路很顺,但是被傻逼vector卡了很久,于是心态爆炸,做到D题,share了思路后,发现不会写st表,于是改写线段树。二分+线段树,如果不用function和stl等东西,可以利用评测机的波动,把时间卡在1980ms左右,但是我是一个喜欢写各种阴间东西的选手,于是GG!思路:这种区间求GCD的题,十有八九是相减。找区间所有数mod相同,实际上是找两两相减后构成的新数组,在这个新数组的某段区间内的GCD>=2。题目给

2021-08-02 17:22:52 369

原创 D. Say No to Palindromes

传送门:CF思路:题目说明只由’a‘ ,'b' ,'c' 组成,那么合法的字符串一定是由“abc”,“acb”,"bac","bca","cab","cba" 循环组成的。AC代码:#include<bits/stdc++.h>using namespace std;#define INF 1e9+7;int main(){ ios::sync_with_stdio(false); cin.tie(0); int n, m; cin >> n &gt

2021-08-01 12:35:02 122

原创 D. Array Differentiation 位枚举

传送门:CF前言:昨天打这场cf打到凌晨两点,差点要翻墙进宿舍了......昨晚一直在想01背包,但是WA了,今天我又写了一发背包,结果 T 了。然后看了下T神的代码。发现根本不用背包,直接暴力枚举更快。并且从T神那里还学到一种用进制来枚举的方式。思路:最开始的时候我觉得是满足三元关系即可,也就是或者。然后再想了想,发现只要即可。实际上想到这里,这道题已经解出90%了,但昨天我还差了最后一步,即只要满足即可。也就是说,我们可以暴力枚举每个数,每个数有三种选择,不取,加上,减去。只..

2021-07-26 17:56:18 426 1

空空如也

空空如也

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

TA关注的人

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