自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 字符串相关模板

这里写目录标题树分治离散化三级目录 树分治 const int INF = 0x3f3f3f3f; int head[MAX], to[MAX << 1],len[MAX << 1], next[MAX << 1]; int sizee[MAX], deep[MAX], vis[MAX], son[MAX], dis[MAX]; int root, cnt, tot, ans, all; void add(int x, int y, int z){ to[++cn

2020-07-30 14:44:54 198

原创 2022字节夏令营感想

笔试 我7.1号报的名,错过了能参加第一次笔试的最后时间,然后就参加了第二场笔试 笔试满分150,其中编程占120分,其他是选择填空,选择我几乎都不太确定,填空我记得类似于脑筋急转弯,手动模拟一下就好了 第二场笔试的编程题是 并查集 + DP + 构造 + 图论(其中第一题的题目是有问题的) 我的得分是40% + 100% + 75% + 100% 这个笔试最终得分是两场选一场参加,根据算法对于只参加一场的人算出另一场,然后加起来排名 有复试资格的人是笔试成绩的前15%,有天我接到字节电话说字节提前批和夏令

2022-08-15 21:16:50 507 1

原创 springboot项目登录+注册

springboot 整合 mybatis + thymeleaf 登录注册 学习网址 springboot+jsp https://blog.csdn.net/qq_40205116/article/details/102990708 springboot+数据库 https://blog.csdn.net/qq_40205116/article/details/103430435 项目整体结构 pom.xml <?xml version="1.0" encoding="UTF-8"?> &

2022-05-18 01:50:14 1051 1

原创 PTA乙级

PTA乙级(寒假刷完计划) 写在前面,刷完PTA上的(PAT (Basic Level) Practice (中文))题目,一共110题目 如果我在刷的时候有磕磕绊绊,会写下题解或者tips tip**:不要美观,要快(大不了最后格式化);读题仔细,验证每一个样例! 有一个遗憾1055 :23/25我觉得我题意理解有很多问题,因为按照我的理解样例都是错的,蛤 其实我是先打算刷完乙级,再刷甲级的(因为乙级是中文) 结果花了太长时间了 1001 害死人不偿命的(3n+1)猜想(15) 卡拉兹(Call

2022-02-12 22:48:29 4391 4

原创 CF edu114 D题

CF edu114 D题 题意 有n(1<=n<=10)个桶,每个桶有最ci个数字(从小到大),下标为1到ci,有m个(1<=m<=1e5)被禁止选择的组合 问剩下可以选择的组合中 组合对应的数值和最大的 情况的 组合(如果最大的有好几个,任意输出其中一个) 题解 就是普通的bfs,但是重载运算符比较麻烦 #include<bits/stdc++.h> using namespace std; #define ll long long const int MAX = 2

2021-09-23 22:25:31 203

原创 没有想到二分

题意 两数组求连续子段最大平均数 题解 二分 acwing上有一道很相似的题 我的总结https://www.acwing.com/blog/content/9263/ #include <bits/stdc++.h> using namespace std; const int MAX = 1e5 + 10; const double eps = 1e-8; double sum[MAX]; double a[MAX]; double b[MAX]; bool check1 ( doubl

2021-08-19 09:41:48 148

原创 杭电九补题

杭电九补题 Dota2 Pro Circuit(whm出 题意:(1<=T<=20) 给两个数组a,b,(0<=ai<=1e9)都有n(1<=n<=5e3)个数,ai可以和任意的bj加起来得到到后面的ai,但是每个bj只能被加一次,问按照处理过的ai从大到小排名 最好的排名和最小的排名分别是多少 题解 双指针,对于一个数和一定加最大bj加起来位tmp,最好情况是,比他大的数ak匹配某个数x,ak + x 是小于tmp的最大数 由于初始化的原因,所以要注意 3 1 1 1

2021-08-19 09:09:44 168

原创 21杭电七

1012 题意 题解 找规律 #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll mod = 998244353; vector <int> a[28]; ll solve(int id) { ll res = 0; ll tmp = a[id][0]; ll sum = a[id][0]; for(int i = 1; i < a[id]

2021-08-11 01:06:41 173

原创 AC自动机

ACwing 1285. 单词 原理是任一一个字串,可以对原字符串的前缀的后缀取得! 题解 #include <bits/stdc++.h> using namespace std; const int MAX_N = 1e6 + 10; int pos[MAX_N]; //第i个字符串在tire结束的节点位置 //从下标1开始 int N; namespace AC { int tot, tr[MAX_N][26];//tire树 int fail[MAX_N];//不管

2021-08-07 00:07:18 134

原创 杭电三补题1007

21杭电三 链接 题意和题解 都不重要 算法很简单 重要的是,16进制的读入读出以及lower_bound的越界问题 注意vector 和 lower_bound结合时,会不会vector访问越界 tip 格式说明符: %c 字符型 %d 十进制数 %i 读入十进制,八进制,十六进制数。输入的时候正常是十进制数,若输入0前缀的数将读入八进制,0x前缀读入16进制。若输入09 则读入0,9进入缓冲区 %f 浮点数 %o 八进制数 %s 字符串,碰到空格或回车结束 %x

2021-07-29 21:00:03 158

原创 主席树模板题

20浙江省赛 链接 ps:不是题解,只是记录 主席树还是很有意思的嘛~ 题意: 题解 根据题目dp的方向,直接判断出最后答案为1到(r−l+1)的平方和加上l到r区间前k大的值 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int N = 1e5 + 10; struct node { int l, r; int cnt; ll sum; } tr[N * 4 + N

2021-07-29 10:44:01 147

原创 2021牛客多校三补题

2021牛客多校三补题(待更 链接:2021牛客暑期多校训练营3_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ (nowcoder.com) F题 题意: 给n个(1 <= n <= 4)个1到13的数组,可以添加、加减乘除以及括号,使其最后的值等于m。问n个数的所有解都出现了分数的解的这种组合有几种,并且输出。 题解: 模拟; 当n = 1, 2,一定不可能运算过程中有分数,因为最后的值m一定是整数; 当n=3时,只有可能 (整数/整数)*整数 = 整数 ,这种

2021-07-25 14:33:40 275

原创 个人排位赛B

DP 链接 题意 给你n个物品,你有一个容量为W的背包,每一个物品都有它的重量和价值,让你从n个中选取若干个,使得总重量不超过背包的上限,而且使得价值最大。 题解 原本是贪心,太繁了,用DP i是遍历到前i个时,j是转换后重量和,k就代表已经选了k个,这重量加上k * w1就等于原来的重量 dp代表最后的价值 解释 i是目前范围是1-i,j表示(转化后的重量)的总和是j,k表示目前已经选择了k个,比如如果w1=5, 我选了一个w[1]=5,w[2]=6两个,那就是dp[2][1][2]这个状态 #inclu

2021-06-14 21:32:42 187

原创 20杭电多校二

20杭电多校二 J题 [2020杭电多校第二场 Cloned] - Virtual Judge (vjudge.net) 题意 给n个东西,k种,每个东西有a,b,c,d的权值; 每种东西最多有一种,可能无 (1≤n,k≤50) DMG=(100+∑ai)(100+∑bi)(100+∑ci)(100+∑di) 给了8秒 题解 签到的搜索题,but我写炸了 就是我之前是对于第i种,有没有权值,然后然后一个一个判断, 实际上存一下下标,然后直接转移就好了 #include<bits/stdc++.h&gt

2021-05-11 00:28:12 262

原创 一个贪心贪不清楚的题目

Mr.Maxwell and attractions E起来编程暨第三届湖北省赛 B-Mr.Maxwell and attractions_“深圳计算科研院杯“E起来编程暨第三届湖北省赛 (nowcoder.com) 题意 有n个户外,m个户内活动,总共T天,至少K下午天去户外 第二次去同一个地点获得开心值为原本的0.6, 如果同时满足户外和下午,则开心值为原来0.6倍的基础上在乘0.8 问:开心值最大值为多少? 题解 贪心策略:室内的尽量放下午,室外的尽量放上午 但是当只能安排在下午了,要比较的是户内最大

2021-05-08 16:29:26 162 4

原创 5.2CF总结

5.2CF总结 我太差了,拖累了整个队伍,又掉分了,场场打,场场掉 Codeforces Global Round 14 A题 我又看错题目了,白wa distinct都标粗了,如果后面有数,换一下就好了,没数就不行 我的写法烦,且最重要的是,写错了一个小细节 B题 A,B都是签到思维题,我B被卡sqrt,有精度的问题 吃一堑长一智!(嗯 C题 题目有没有看完整,保证每个数都不超过x,n个数,放入m堆,然后问相邻的堆差不超过x 贪心即可,我糊掉了(我太容易糊掉了,我这道题目,一开始糊里糊涂的码了一遍,然后又

2021-05-03 15:29:54 186

原创 5.2cf

5.2 vp了一场Global Round 没有做完就去吃饭了,出了三题 Codeforces Global Round 4 A题 签到 but我下午状态不是很好,是最后再做的 因为A题的题面有太多我不认识的名词,虽然我知道这个是名词例如prime minister是总理,but我总想去查,然后,就不想看了 B题 模拟 我一个变量名码错了,白wa D题 构造 同样一个变量名码错了,白wa 题意 给一个n,能不能构造一个无环无重复边的无向图是的,有n个点,总的有素数个边,每个点有素数的度 题解 如果n是素

2021-05-03 15:04:46 171

原创 3.29CF

3.29CF小结 Educational Codeforces Round 108 (Rated for Div. 2) AB都是思维题目,我比较快的拿下来了 but我A题又双叒叕忘记看数据范围了,忘记开ll 导致我怀疑是不是我的推断错了,浪费了时间 $ \color{red} 一定要看数据范围,不然就保险一点开ll $ $ \color{red} 开了ll也不要忘记写lld$ 讲讲C题 题意: 有n位同学,分别来自不同的学校,有不同的编程水平,每个学校可以派出n个队,求当每个队人数为k时,每个学校派出的队

2021-05-01 11:36:55 177

原创 3.30 CF

3.30 CF Maximum Sum of Products 题意 两个数组a和b,ans=每一项相乘的乘积和,问连续的子集交换之后,ans最大是多少 题解 以一个数为轴交换左右算乘积和取最大值,或者两个数为轴交换左右算乘积和取最大值。 有一个优化(类似于马拉车,好妙 读入的时候每隔一个数多读一个空格, 这样只要考虑以一个数为轴交换左右算乘积和取最大值。 #include <bits/stdc++.h> using namespace std; typedef long long ll; co

2021-05-01 09:12:10 160 2

原创 27-28cf

27-28cf Distance in Tree 这两天只做了一题,因为这一题牵扯到一个新的知识点 题意 给一颗树,问距离为k的有几个不同的点对 解法一:树形DP 代码量少,好理解,好码 注意一般情况下,dp[i][j]代表到i这个点距离为j的有几个 注意点:算答案,再加入dp(我觉得我要不被提醒,一定不会注意 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAX = 5e4 + 10;

2021-04-28 16:29:13 176 1

原创 23-26cf

4.23 到 4.26 题解 23打了一场cf,上来1,2分 Product 1 Modulo N / 数论 / 1600 Product 1 Modulo N 题意 给一个数n,问1到n-1个数尽量取较多的数使得他的乘积模n余1(n>=2) 题解 乘积res = k * n + 1 (k >= 0) 我原本没有思路,只可以看出来这一步,(把答案范围缩小到了,乘积一定与n互质(gcd=1,我是想到这个了,这个比较形象) (实际上就是每一个数都和互质(反证法,如果一个互质和n有一个不是1的公因子

2021-04-27 20:45:07 195

原创 4.21CF比赛题解

Codeforces round #717 editorial A题 题意 问k次操作选两个不同的数,一个数减去1,一个数加上1,要求变化的字典序为非负数,求字典序最小的情况 水题,没什么好讲的 讲一下,我的审题以及心态 我原本看错后面比前面大的情况才能换,然后觉得有点烦(怕有些细节写漏掉),but一看别人咔咔咔直出题,我开始觉得自己太菜了,我赶紧写了交了,wa1,因为我样例看错了,我重新看了题目,结果理解成不同的值,才可以换(实际上是不同的位置),改了一下,又交了,wa2 然后然后,我才意识道题目的真正意

2021-04-22 22:54:51 200

原创 CF刷题

rainbowのCF 计划 从21号开始打算就不都写在这篇文章里面了,分开写 每天一篇博客,在CF专栏里面 欢迎私信催更 –不能总是很差很差的,我讨厌我现在的自己 前言: ​ 我总是这样,有这样那样的计划,却不去执行; ​ 看吧看吧,我总是最差的(这不是我想要的, ​ 弄的这么累干什么呢 ​ 我暂且每天定一个计划,写两道题目or一道难题,再加更新题解 ​ 发在CDSN上,望自己能够监督自己 ​ 任何人都靠不住,我说是任何人,自己才能够提醒自己 ​ 什么都抓不住的话,那就死掉好了! 4.14 k-Tr

2021-04-22 21:48:08 526

原创 华师大期望题

华师大期望题目 链接 题意 有n个人,每人拿到了一个球,每个人可以任意时间进入一个队列,这个队列按照球上的编号排序,对于现在的人k来说,前面m个人可以拿到一个礼物(不足m即所有),问拿到礼物的期望。 题解 概率问题,如果把所有人看成相同就很简单,那么这一道题目,把所有人,就好了 举例: 编号为k,就是手上的球为k 例如 5 2 5 球为5,那么只有5为第一个入队列或者第二个入队列,那么看成一样,就是将5放到第一第二个,其他乱排,那么期望值为2/5 如果k >= m, 那么对于现有的i个人,只有在前m个

2021-04-12 09:25:17 152

原创 一道不应该用模拟做的题目

题意 问2000年1月1日到9999年12月31日,有几个“202”,有前导零,固定长度为8 题解 这一定是简单题目啊,想什么模拟,模拟那么多细节能够想的到吗,看看,这不就卡了 模拟写完了,还能有什么脑子吗? 简单题先考虑暴力,然后再是模拟\color{red}简单题先考虑暴力,然后再是模拟简单题先考虑暴力,然后再是模拟 一定要会算时间复杂度\color{red}{一定要会算时间复杂度}一定要会算时间复杂度 //debug了好久才过了的模拟 #include<bits/stdc++.h> usi

2021-04-01 11:07:36 117

原创 2021-03-29

约数个数例题 题目链接 给定一个整数 n,求有多少正整数数对 (x,y 满足 1x+1y=1n!\frac1x+\frac1y=\frac1n!x1​+y1​=n1​! 输入格式 一个整数 n。 输出格式 一个整数,表示满足条件的数对数量。 答案对 109+7取模。 数据范围 1≤n≤106 题解 #include <iostream> const int MAX = 1e6 + 100; const int MOD = 1e9 + 7; typedef long long ll; bool

2021-03-29 11:16:20 551

原创 3.21校赛

3.21校赛 A题目 题意 给出字符串,以标点符号为界,写成一个大写一个小写的形式 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int MOD = 100003; const int MAX = 1e3 + 10; int main() { string str; cin >> str; int len = str.length(); int c

2021-03-25 20:50:43 310

原创 赛氪3.14

赛氪3.14题解 A,B,M,I是签到题目 (but我B题看走眼,多交了好几发,对我自己无语了 重点是理一下F题的模拟 J题目 奇怪的小鸭子也增加了 题意 有一个A×B 的大澡盆,还有若干个a×b 的长方形小鸭子,澡盆里最少放几只鸭子后,便无法再向其中放入更多的鸭子? 鸭子很倔强,不能旋转成 b×a ,也不能重叠放置。 题解 一开始我以为,小鸭子只能放在线上,实际上不是的 原来的设想是放在线上,那么一个小鸭子可以使得长((a−1)∗2+a),\color{orange}原来的设想是放在线上,那么一个小鸭子可

2021-03-16 21:10:03 455

原创 牛客3.7总结

A题 最小圆覆盖板子题 第二个题解 神神奇奇,看上去是o(n^3)的复杂度,but实际上均摊复杂度为 o(n) const int MAXN = 5e5 + 10; const double eps = 1e-12; struct Point{ double x, y; double operator - (const Point &b) { return (x * x - b.x * b.x) - (b.y * b.y - y * y) ; } }a[MA

2021-03-09 19:25:43 132

原创 cf

H. K and Medians 题意 给出1到n的数,可以任意取K位只要递增的数列(可以不连续)保留中位数,问是否可以变成m位的数组 题解 实际上只要考虑最后一个操作, 反过来相当于m位数组填坑,最后一个操作,在某个数左边右边添加任意(k - 1)/ 2位,就可以保证由整个数组的空位也可以,还要保证坑的数量mod (k - 1) = 0 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int M

2021-03-06 16:08:17 189

原创 cf(edu103)

A题 题意 一个字符串,由字母A、B、C组成,问将其中一个字母所有替换成"(“或者”)",问 是否存在一个方法,可以是所有的"(“和”)"一一对应 2 <= n <= 50 题解 就6种情况,暴力模拟 #include <bits/stdc++.h> typedef long long ll; const int MAX = 1e2 + 10; int f[MAX]; bool check(int len) { int ans = 0; for(int i = 0;

2021-03-05 12:17:33 178

原创 项目学习

scarpy 爬虫 天元数据 windows安装环境 2.ajax异步加载网页 Scrapy爬虫框架教程(四)-- 抓取AJAX异步加载网页 - 知乎 (zhihu.com) 这个有用! Scrapy+Ajax 数据爬取 - 知乎 (zhihu.com) scrapy:Ignoring response 400 HTTP status code is not handled or not allowed解决方案 | ItBook (itbook5.com) ...

2021-02-26 15:16:55 122

原创 cf 695 (B~D)

B题 题意 任意连续的三个值,如果中间是最大的,或者是最小的,ans++,改变一个值,使得ans最小 题解 我原本考虑有连续三个凹凸,可以修改一个值,是三个凹凸消失;如果没有,那么,看有无连续两个;如果还没有,就看连续1个 实际上修改值的时候,可能会造成新的凹凸 例如:1 4 5 3 4 7 #include <bits/stdc++.h> using namespace std; typedef long long ll; const int MAX = 3e5 + 10; const in

2021-02-18 22:01:29 288

原创 2021-02-10

中国剩余定理例题 (其实和标题没啥关系,重点在于分析 题意 https://www.acwing.com/problem/content/206/ 给定 2n 个整数a1,a2,…,an和m1,m2,…,mn,求一个最小的非负整数 x,满足∀i∈[1,n], x≡mi(mod ai)。 输入格式 第1 行包含整数 n。 第 2…n+1行:每 i+1 行包含两个整数ai和mi,数之间用空格隔开。 输出格式 输出最小非负整数 x,如果 x 不存在,则输出 −1。 如果存在 x,则数据保证 x 一定在64位整数范

2021-02-10 17:02:51 130

原创 cf#700(div.2)

B题 题意 你有一个英雄,攻击力为A,生命值为B。(没有经验、金币等机制,攻击力与生命值不可提高) 游戏中有n只怪,怪的攻击力为a[i],生命值为b[i]。 每次你可以选择一个怪攻击,攻击后你的生命值变为B-a[i],怪的生命值变为b[i]-A。 不论你是否死亡,如果你能消灭所有的怪,获得胜利。否则失败。 题解 别想复杂,模拟即可 由于最后,不管英雄死活,只要怪全死就好了,对于杀死所有怪物的最后一刀,只要当时英雄血量大于0,就好了 #include <bits/stdc++.h> using n

2021-02-09 17:52:54 262

原创 cf#690(div3)

F. The Treasure of The Segments 链接 题意 有n条线段(1<= n <= 2e5),线段两端L,R(1<= L <= R <= 1e9) 问删掉最小数量的线段,使所有的线段不重合? 题解一 对于线段i来说,需要删掉T[j] 大于 a[i].s 的 以及 S[j]大于a[i].t。 #include <iostream> #include <cstdio> #include <algorithm> #includ

2020-12-19 19:15:30 251 2

原创 9.24省赛题解

9.24省赛题解 A Marjar Cola 题意 给你a、b和可乐瓶和可乐盖,你可以用x个可乐瓶或者y个可乐盖换一瓶可乐(包括1给可乐瓶和可乐盖),问最多能换多少瓶可乐 题解 考虑永远也换不完的情况 1,x == 1 || y == 1(a,b,x,y>=1) 2, x == 2 && y == 2 &&(a >= 2 || b >= 2) #include <cstdio> #include <cmath> #include

2020-12-16 21:05:51 261

原创 12.9补题

2019 ICPC Asia Taipei-Hsinchu Regional 比赛小tip(要改进! 1.J题一定要看清数据范围,不然就很容易想岔了 2.如果两个人都统一了思路,一个人拿不定(没有别的题目可以出了),可以看着一个人打代码,防止思路到手上,就飞了!! 3.(个人)要注意板子代表什么,比如我的旋转卡壳板子,以及运用板子有发生什么比如nS发小返回0,用一次,改变参数, 我的旋转卡壳中间n有加加操作,n的含义在本函数后面改变了。//叉积算的值就是三角形面积,(我是笨蛋 碎碎念)理解板子这么来的,我用

2020-12-15 01:43:20 225

原创 cf12.4

cf div.2 #668 C题目 题意 给一个数字矩阵,对于每一个数,可以任意选两个数,加自己构造的一个点,组成三角形,问什么情况,三角形面积 * 2最大。 (这个三角形要求,至少有一条边平行于x轴或者y轴) 题解 这种三角形面积 * 2是 ∣xa−xb∣∗∣ya−yc∣|x_a - x_b| * |y_a - y_c|∣xa​−xb​∣∗∣ya​−yc​∣。 我原本考虑最角落4个点,but实现有点问题。 可以考虑每行的点,把所有∣xa−xb∣|x_a - x_b|∣xa​−xb​∣记录下来,再找面积最大

2020-12-14 02:07:01 265

原创 Zero Remainder Sum

Zero Remainder Sum 链接 题意 给出n行,每行有m个,每行可选小于等于m/2个,使得和是k的倍数,且和最大 题解 开4维dp,第i行的第j列,拿的个数cnt,余数res_k //注意边界 #include <algorithm> #include <iostream> #include <cstdio> #include <cmath> #include <iomanip> #include <cstring> #in

2020-12-02 23:24:56 223

空空如也

空空如也

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

TA关注的人

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