自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2023河南萌新联赛第(一)场:河南农业大学

题解:树上查分板子题 首先你要会lca 然后p[x]就是当前节点到根节点所有边之和,求x到y路径权值和是p[x]+p[y]-p[lca(x,y)]*2.至于p[x]怎么求的就是利用差分求和得到的,你可以根据下面代码模拟一下树上差分的过程。题解:其实你模拟一下过程就可以发现,如果当前全是1或者全是0的话,如果长度大于k就是后手赢,否则就是先手赢。然后我们将可以一下更改区间的值记作一段,如果是1或则是0。题解:最短路 就是最短路跑一遍就可以了,细节就是如果当前是弹簧,就跳,时间不加一,不然时间就加一计算。

2023-07-13 18:01:25 328 2

原创 Codeforces Round 883 (Div. 3)

题意:就是n个人比赛,比赛一共有m个题目,h小时结束,每完成一道题累计一分,每个人每道题完成需要有ti个时间,如果分数相同则看罚时。题解 :因为n肯定是1+k+k*k+..k的p次方构成,应为n最大为1e18,那么如果单纯暴力就必须枚举到1e9 但可以观察到当k>1e6 h后n只能有1+k+k*k构成。这样我们可以将k1e6构成的n可以用1+k+k*k=n表示。题意:就是三个人玩井字棋游戏,三个人代表三个符号,.代表未填入给你3*3的局面。题解 :建图跑个最短路。

2023-07-10 14:20:55 212

原创 二次扫描与换根法 acwng 286 积蓄程度

x流向其他节点 则是f[x]-min(d[y],c(x,y)) (如果这个不理解可以自己画图看看)简单来讲就是有课树形湖泊,度数为1的为汇点,现在让你找到一个源点,求从源点流向汇点水系流量最大。对与x节点到他的子节点y来讲 如果 x和y的度数都大于一。则f[y]首先有d[y]构成。对于本题我们设f[x]为表示把x作为源点,流向整个水系,流量最大是多少;设d[x]为第一次扫描 以root为根,从x出发流向子树的流量。y流向x则是c(x,y)(x与y边的容量)则f[y]=d[y]+c(x,y);

2023-07-06 11:32:48 169

原创 2023 icpc jiangxi Provincial contest B Wonderful Array

求 (bi mod m) ⩽ (bi+1 mod m)小于的个数不好求 采用逆行思维求>的数量先将。求 (bi mod m) ⩽ (bi+1 mod m) 的个数,其中 (0 ⩽ i < n)题意:先给 k 个数 a0, a1, ..., ak−1 ,再给三个数 n, m, x。(bi mod m) > (bi+1 mod m) 即bi/m

2023-07-05 16:58:33 491

原创 服务器创建用户ssh 免密登录(ubuntu)

5 使用 ssh-copy-id xxxx (别名)如果没有下载这条指令,将生成的公钥可以手动添加到远程服务器的 ~/.ssh/authorized_keys 文件中。usermod -aG sudo acs # 给用户acs分配sudo权限。3 $ ssh-keygen 在本地上生成命令生成公钥和私钥。ssh root@xxxxxx(你服务器的公网ip)2 adduser acs # 创建用户acs。cd .ssh/ 可以看到生成的文件。6 ssh xxxx(别名)7 docker 安装。

2023-07-05 14:56:52 722

原创 2023 icpc 江西省赛 C battle

题意 给你 n堆石子 俩个人对于每堆石子只能取p的非负整数幂 个,对于某个人无法操作则就输了。算法:sg函数打表分析。

2023-07-04 11:02:46 759

原创 I. Improving the Neighborhood(最大网络流模板题)

题意:给你一个图,图上.,#,P,S,H分别代表可行区域,不可行区域,公园,学校,房子,再给你一个距离D,要求你所卖出的房子必须要一个公园和一个学校,这俩距离你所卖的房子不超过D。算法:dinic 将图拆成n个点,源点等于0,汇点等于2*n;将房子拆成俩个点分别连接公园,学校。

2023-07-03 16:42:32 44

原创 ICPC Masters Mexico LATAM 2023

【代码】ICPC Masters Mexico LATAM 2023。

2023-06-01 15:59:38 438

原创 2023 ICPC Gran Premio de Mexico 1ra Fecha

【代码】2023 ICPC Gran Premio de Mexico 1ra Fecha。

2023-05-29 17:50:54 960

原创 2023 ICPC Gran Premio de Mexico 1ra Fecha

对于操作 1,k。

2023-05-28 14:14:23 5052

原创 2023 (ICPC) Jiangxi Provincial Contest -- Official Contest

LAJ。

2023-05-23 10:28:44 380

原创 幂次方(洛谷)

【代码】幂次方。

2023-03-03 01:48:03 83

原创 均分纸牌 洛谷

根据题意模拟即可,因为第一堆如果不满足要求,则只能移到第二堆。

2023-03-03 01:32:20 89

原创 110. 防晒

因为如果按照最小强度排序后,第一种防晒霜可以作用第一头奶牛和第二奶牛,第二种防晒霜可以作用第一头奶牛但不一定可以作用第二头奶牛,这时使用第一种防晒霜作用第一头奶牛不是最佳选择。则要充分利用防晒霜,比如第一种防晒霜能作用在一种奶牛也能作用第二种奶牛,第二种防晒霜只能作用在第二奶牛,那我们尽量让第一种防晒霜作用在第一头奶牛身上;将奶牛按照需要最大日光浴强度升序排序,然后将防晒霜稳定值也升序排序;后面奶牛则出现下x,y都能用,x不能用,y能用,x,y都不能用。按照最大日光浴升序排序;

2023-03-03 01:05:23 84

原创 H - 今年暑假不AC

为了使看的电视节目最多,应该看时间轴最先结束的电视节目,所以直接按照电视节目时间结束时间排序,创建一个集合,如果当前节目开始时间大于等与该集合最后一个节目的结束时间,说明该电视节目我们也可以观看。

2023-03-03 00:20:37 61

原创 G - Ignatius and the Princess II

下面代码采用了stl:next_permutation;

2023-03-03 00:02:33 49

原创 A 畜栏预定

首先按照吃草时间将牛排序,建立一个集合,如果当前牛开始吃草时间不大于该畜栏最后一头牛结束吃草时间,则新建一个畜栏;(当前牛应该安排在当前集合中畜栏最后一头牛结束时间最早判断);所有牛都是按照开始吃草时间从小到大排序,所以在前m个畜栏数目最后一头牛开始时间一定小于等于第i头牛开始吃草时间。所以现在前 m个畜栏当中最小的结束时间大于等于第i个牛开始时间,所以至少需要m+1畜栏。上面题解证明:反证法:设存在一种方案,是的畜栏数目更少记得:m;在上面题解做法中,当建立畜栏数目为m+1时,正在处理第i头牛;

2023-03-02 23:18:43 156

原创 洛谷  Cantor 表

根据上面表格,可找出以下规律每i行的分子分母相加等于i+1;第i行行数包括i*(i-1)/2+1~i*(i+1)/2。2:奇数行分子从大到小,偶数行分母从小到大;根据题目描述可以知道该题是按照斜线来标号。有上面表可以知道规律如下;第三种:暴力枚举(略)1:每i行有i个数字。

2023-03-02 19:49:37 73

原创 洛谷 (线性筛选素数)

备注(埃氏筛法的基本思想 :从2开始,将每个质数的倍数都标记成合数,以达到筛选素数的目的,时间复杂度为(nloglogn)线性筛法的思想则是每个合数只被自己最小的质因数筛掉;上面所使用筛法为欧拉筛。时间复杂度为o(n)

2023-03-02 17:03:00 128

原创 蓝桥杯  航班时间

备注:(为啥上面俩不等式之间一个是t,一个是-t,因为列入北京到美国时差是+12,那么美国到北京时差就是-12);此外我们还可以这样理解,输入的俩段时间都是自己本地时间,一来一去时差抵消,所以所求的答案就是这俩段时间差之和/2;那么则起点时间加上飞行时间+俩地的时差等于终点到达时间;分析:设第一去程起点时间为:s1,终点时间为:e1;飞行时间为:f 第一地点到第二地点时差为:t;回来时起点时间:s2,终点时间为:e2;注意:本题注意字符串的输入处理;即s1+f+t=e1;

2023-03-02 16:46:26 98

原创 截断数组(acwing)

给定一个长度为n的数组a1,a2,…,an。现在,要将该数组从中间截断,得到三个非空子数组。要求,三个子数组内各元素之和都相等。请问,共有多少种不同的截断方法?

2023-02-25 20:00:08 73

原创 codeforces1790D

我们创建一个集合,集合插入当前尺寸s以及要组成一套套娃接下来的尺寸s+1,为避免重复查找以及寻找最小集合数目。我们用set创建一个有序列无重复的集合。接下来遍历集合,设当前尺寸套娃数量为x,访问前一个套娃尺寸数量为y;当x>y时说明该尺寸除了与前一个尺寸组成集合还能组成(x-y)个集合,如果y

2023-02-25 12:24:21 108

原创 好耶!是大冒险吗?

思路:本题给出四个变量a,b,c,d;如果根据本题规则想让这4个变量都相等,先想如果要a=b,则只能改变c的变量,同理如果要c=d只能改变b变量,然后在判断b是否等于d。就是本题让这4个变量都相等的最小操作次数。

2022-11-30 20:00:39 113

原创 质数区间*

然后book数组进行标记,prime1数组存储素数。当所判断素数大于最后区间数时结束。第一种方法 打表素数或者素数筛。

2022-11-28 23:36:34 72

原创 J Mex Tree

题意:给你n个点树然后权值为【0,n-1】的排列,然后然后让你找出(0

2022-10-12 01:23:09 161

原创 The equation

用来求a,b的最大公约数而且还能求ax+by=gcd(a,b)的一组解。因为由欧几里得算法可知,gcd(a,b)=gcd(b,a mod b)除此以外本题需要进行注意a,b是否为0的问题,并且注意a,b,c;即:gcd(a1,b1)=1;则a1*x+b1*y=c1的解为x0,y0;接下来只用求a1*x+b1*y=c1的解;如果c不是gcd(a,b)的倍数无解。利用欧几里得求出其中一组解x,y;求a1*x+b1*y=1;2:用来求解ax+by=c;这也是ax+by=c的解;注意还有解的取值问题;...

2022-08-07 14:50:00 87

原创 GCD - Extreme (II)

题意:求1~n任意俩数之间的最大公因数和;代码如下:思路:利用欧拉函数性质;欧拉函数:就是对于一个正整数n,小于n且和n互质的正整数(包括1)的个数;公式:欧拉函数的通式:φ(n)=n*(1-1/p1)(1-1/p2)(1-1/p3)*(1-1/p4)……(1-1/pn)其中p1,p2,p3,p4为n的质因数;例子:2,3的最大公因数为1;则4,6的最大公因数为2;2之前的质数个数为1,2;则1,2与j的最大公因数之和为ph[2]*j;ph[i]数组的意思为欧拉函数n的求值;本代码采用欧拉筛选素数打表

2022-08-07 13:05:55 112

原创 pta战役杯 5 感染源在哪里

# include <bits/stdc++.h># include <set># include <map># include <queue>using namespace std;map<string,int>a;map<string,int>d;int book[1001][1001];typedef struct stu{ queue<string>q;}A;A p[1001];typ.

2022-05-13 21:52:44 265

原创 采药日(背包dp)

# include <stdio.h># include <iostream># include <algorithm>using namespace std;int a[2000],b[2000];int dp[2000][2000];int main(){ int T,M; cin>>T>>M; int i,j; for(i=1;i<=M;i++) { cin>>a[i]>&g.

2022-04-03 23:34:32 48

原创 疯狂采药(简单dp)

# include <stdio.h># include <iostream># include <algorithm>using namespace std;long long a[10000000],b[10000000],c[10000000];int main(){ long long t,m; long long i,j; cin>>t>>m; for(i=1;i<=m;i++) { .

2022-04-03 22:12:36 115

原创 选数(洛谷)

# include <bits/stdc++.h># include <math.h>using namespace std;int a[100];int book[100];long long ans=0;int n,k;int su(int n){ if(n==1) { return 0; } for(int i=2;i<=sqrt(n);i++) { if(n%i==0) { .

2022-04-01 17:19:35 55

原创 烤鸡(暴力枚举)

# include <bits/stdc++.h>using namespace std;int main(){ int n; cin>>n; int find=0; int sum=0; int i,i1,i2,i3,i4,i5,i6,i7,i8,i9; for(i=1;i<=3;i++) { for(i1=1;i1<=3;i1++) { for(i2=1;i2<=3;i2.

2022-04-01 17:01:05 151

原创 FIRST STEP

# include <bits/stdc++.h>using namespace std;int R,C,k;char a[500][500];int d=0;int book[500][500];void dfs(int x,int y,int step,int j){ int next[2][2]={{1,0},{0,1}}; if(step>k) { d++; return ; } if(a[x].

2022-03-30 00:00:17 234

原创 P2036 PERKET

# include <bits/stdc++.h>using namespace std;int a[100],b[100];int ans=99999999;int n;void dfs(int i,int x,int y){ if(i>n) { if(x==1&&y==0) { return ; } ans=min(abs(x-y),ans); return ; ...

2022-03-29 23:56:11 37

原创 回文质数(暴力枚举)

# include <stdio.h># include <iostream># include <algorithm># include <string.h># include <math.h> using namespace std;bool book[100000001];void su(int b){ memset(book,1,sizeof(book)); int n=sqrt(b); book[1]=0; .

2022-03-29 23:50:24 67

原创 小A的泉水

思路:位运算;代码如下# include <stdio.h># include <iostream># include <algorithm>using namespace std;int lowbit(int x){ return x&(-x);}int main(){ int t,a; scanf("%d",&t); while(t--) { scanf("%d",&am

2022-03-13 11:26:55 60

原创 快速幂写法

1 快速幂迭代写法求a^b的值1利用二进制的权值进行求解,列如b=10;b的二进制为1010;逐步求出b的位,遇到1就累乘结果存到答案,否则一直累乘; b b&1 答案 a 1010 0 1 a^2 101 1 a^2 a^4 10 0 a^2 a^8 1 1 a^2*a^8 其中b&1是判断二进制数末尾是

2022-01-31 20:22:40 651

原创 高精度取余

同余定理的应用1 (a+b)%m=(a%m+b%m)%m;2 (a*b)%m=((a%m)*(b%m))%m;高精度取余是将数看成各位数的权值与个位数乘积的和。利用上面定理模拟的如456=((4*10)+5)*10+6;1 类如456%4过程为 4%4=0,(0*10+5)%4=1,(1*10+6)%4=0;代码如下:# include <stdio.h># include <string.h>int main(){ i...

2022-01-31 19:30:01 1716 1

空空如也

空空如也

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

TA关注的人

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