自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2023嘉应计算机大赛决赛题解

那么我们考虑平时树上求最长链的方法,两遍DFS的方法。对于上述如何找离某个点最远的点,可以先做一遍最近公共祖先(LCA),然后通过LCA快速判断两个点的距离,便可以找出离他最远的点。首先计算此时已经获得的分数,如果此时已经达到Au线,则直接结束,否则计算差值k,对于每一道已经满分的题目,显然不可能达成要求。赛时这道题目分值出现了问题,后续想通过加权通过达到20分,发现由于洛谷的问题,难以设置达到20分,在此致歉。我们考虑链上的点有何性质,假设此时给你一条链,我们设链上的两个端点分别为x和y,定义。

2023-11-25 14:42:56 180

原创 求两个矩阵的交集和并集面积(点为对角点)

求两个矩阵的并集和交集

2023-01-17 21:03:40 989

原创 同余方程与逆元的各种操作,牛客序列操作

对于这道题,其实就是对ai+kx=b[i],其中x是我们要确定的数,那就相当于同余方程kx≡b[i]-a[i](mod p),那么b[i]-a[i]我们可以映射为0到p-1之间,因为其他值我们肯定也可以通过加n*p得到。那这个时候逆元就出来了,首先逆元在ax≡1(mod p)中,如果要化为a≡1*(x-1)(mod p)这里是x的负一次,即/ x,那么就要求p是质数,那这道题刚好保证p是质数,那我们直接带即可,那最终答案要求的k即为这里的a,就可以直接选预处理逆元,然后直接求解,去掉log的时间复杂度。

2022-09-23 22:38:38 310

原创 The 2021 CCPC Weihai OnsiteM. 810975

The 2021 CCPC Weihai Onsite

2022-09-04 14:00:48 353

原创 多重全排列(解决问题)

多重全排列是指求r1个1,r2个2,…,rt个t的排列数,设r1+r2+…+rt=n,设此排列数称为多重全排列,表示为P(n;r1,r2,…,rt),一般也有称为“多重组合”的。 上面借鉴于百度百科。即相当与求去掉重复后能够构成的排列方案,...

2022-06-11 16:02:37 157

原创 F - Shifting String(最小公倍数的应用)

F - Shifting String

2022-06-11 16:00:11 402

原创 Little Pony and Expected Maximum(数学期望问题)整体法

牛客链接:登录—专业IT笔试面试备考平台_牛客网将小于等于y的所有值视为一种情况,则p[Y=y]=p[Y<=y]-p[Y<=y-1]而p[Y<=y]就等于y/m的n次方,就是将小于等于y的所有值视为一种情况,大于视为一种情况。难点在于将取最大值为y时,转换为Y<=y和y<=y-1求解(化为整体)#include<bits/stdc++.h>using namespace std;typedef long long ll;typede

2022-05-29 15:02:14 200

原创 F - Vlad and Unfinished Business(树上操作,暴力跳根)

F - Vlad and Unfinished Business记录每个需要走过的点往根节点,即初始点x跳,每次跳的时候+2,因为要过去再回来,如果已经父节点已经跳过,那就直接找下一个点。#include<bits/stdc++.h>#include<stdio.h>typedef long long ll;using namespace std;const int N=1e6+10,mod=998244353;vector<int>vec[N],

2022-05-17 23:51:40 241

原创 E Replace With the Previous, Minimize

题目链接:https://codeforces.com/contest/1675/problem/E因为这里只有26个字母,所以对于每个字母,从左往右,如果k有剩余,那么就尽量将字母变成a,且将由这个字母变为a的过程全都打上标记(染色),下次再遇到这段区间的时候,可以直接过去且不用消耗k。(这道题也可以用set去区间合并,不过写起来较麻烦,相当于有多段区间,判断新的字母应当放在哪道区间里)#include <cmath>#include <cstdio>#inclu

2022-05-07 23:45:27 219

原创 D. Cyclic Rotation

#include <bits/stdc++.h>using namespace std;const int maxn = 2e5 + 7;int a[maxn], b[maxn], cnt[maxn];int main() { int t, n; cin >> t; while(t--) { cin >> n; for(int i=1; i<=n; ++i) cin >> a[i]; for(int i=1; i<=.

2022-04-28 00:27:46 303

原创 4395. 最大子矩阵(acwing)

上图为关键图,矩阵可以写成 a1~ak的和 * b1~bk的和,因为矩阵要求是连续的(废话) ,所以可以用前缀和优化,且这道题保证整数,所以长度越长矩阵值只会越大。输入样例1:3 31 2 31 2 39输出样例1:4输入样例2:5 15 4 2 4 525输出样例2:1#include <bits/stdc++.h>using namespace std;constexpr int N = 2e3+10;int...

2022-04-27 13:10:22 112

原创 D - Index Trio

这道题感觉题面有点不太懂,可能是我阅读理解不行。这道题的每个元素是可以重复选择的,并且可以重复出现。比如n=1,输入为1,那么1 1 1是算一种情况的。//标程#include <bits/stdc++.h>using namespace std; constexpr int MAX = 200000; int main() { int n; cin >> n; vector<int> c(MAX + 1); ...

2022-04-26 23:43:26 693

原创 4412. 构造数组(acwing)

给定一个长度为nn的整数数组a1,a2,…,ana1,a2,…,an。请你构造长度为nn的整数数组b1,b2,…,bnb1,b2,…,bn,要求数组bb满足:b1=0b1=0。 对于任意一对索引ii和jj(1≤i,j≤n1≤i,j≤n),如果ai=ajai=aj则bi=bjbi=bj(注意,如果ai≠ajai≠aj,则bibi和bjbj相等与否随意)。 对于任意索引ii(i∈[1,n−1]i∈[1,n−1]),要么满足bi=bi+1bi=bi+1,要么满...

2022-04-25 17:02:55 346

原创 E. 2-Letter Strings

机翻给定n个字符串,每个长度为2,由从'a'到'k'的小写拉丁字母组成,输出索引对(i,j)的数量,使得i <j和第i个字符串和j -th 字符串在一个位置上完全不同。换句话说,计算对 (i, j) (i <j) 的数量,使得第 i 个字符串和第 j 个字符串恰好有一个位置 p (1 ≤ p ≤ 2),使得 sip ≠ sjp。答案可能不适合 32 位整数类型,因此您应该使用 64 位整数,如 C++ 中的 long long 以避免整数溢出。主要是字母个数以及字符串长度有限,所

2022-04-25 00:40:15 402

原创 F1 - Array Shuffling

原文链接:Problem - F1 - Codeforces机翻oolimry 有一个长度为 n 的数组 a,他非常喜欢。今天,您将他的数组更改为 b,a 的排列,让他伤心。因为 oolimry 只是一只鸭子,所以他只能执行以下操作来恢复他的数组:选择两个整数 i, j 使得 1 ≤ i, j ≤ n。交换 bi 和 bj。数组 b 的难过是将 b 转换为 a 所需的最少操作数。给定数组 a,找到任何数组 b,它是 a 的排列,在数组 a 的所有排列中具有最大悲伤。#.

2022-04-24 16:15:06 320

原创 求点到线段的距离

double qu(double x, double y, double x1, double y1, double x2,double y2)//x,y为所求点,x1,y1,x2,y2为线段的两个端点{ double cross = (x2 - x1) * (x - x1) + (y2 - y1) * (y - y1); if (cross <= 0) return sqrt((x - x1) * (x - x1) + (y - y1) * (y - y1)); d...

2022-02-09 00:53:53 1002

原创 PTA sdut-数制转换 (10 分)

题目描述:输入一个整数和进制,转换成十进制输出。输入格式:在一行输入整数和进制,用英文半角字符逗号“,”分隔。(2个整数之间可能有空格)输出格式:在一行输出其十进制数值。输入样例: 45 , 8 输出样例:37我们来看题目要求:在一行输入整数和进制,然后在下一行输出其十进制数值。易忽略(错)点:最终答案结果可能超过int类型的大小,故数据类型开long long(测试点4和测试点5)题目解析:1.对于样例,我们可以运用基.

2021-10-04 00:48:51 1249

原创 7-12 二分查找 (20 分) PTA

题目描述:对于输入的n个整数,先进行升序排序,然后进行二分查找。输入格式:测试数据有多组,处理到文件尾。每组测试数据第一行输入一个整数n(1≤n≤100),第二行输入n个各不相同的待排序的整数,第三行是查询次数m(1≤m≤100),第四行输入m个待查找的整数。输出格式:对于每组测试,分2行输出,第一行是排序后的升序的结果,每两个数据之间留一个空格;第二行是查找的结果,若找到则输出排序后元素的位置(从1开始,每两个数据之间留一个空格),否则输出0。输入样例:94 7 2 1 8

2021-09-20 10:09:13 8623 2

空空如也

空空如也

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

TA关注的人

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