- 博客(111)
- 收藏
- 关注
原创 Educational Codeforces Round 100 (Rated for Div. 2)(B-E)
B:我们可以直接对于奇数位全设为aia_iai,偶数位设成1去构造如果这样不行那么偶数位为aia_iai,奇数位为1的情况一定可以证明:设sum表示所有数的和s1表示奇数位的和,s2表示偶数位的和则sum=s1+s2如果设奇数位为aia_iai的时候不可以就说明s2>s1那么换成偶数位的时候一定可以另一种方法是设aia_iai<=bib_ibi把绝对值去掉则aia_iai>=bi2\frac{b_i}{2}2bi那么就是bi2<=ai<=b
2022-04-30 21:57:32
369
原创 2022icpc昆明打铁记录
唉这场就做了一题,打铁了赛时记录:刚开始的时候我们都在看k一开始的时候我说采用小范围模拟大范围暴力的情况但是后面发现不是后面lcj说了后面找到概率逼近的地方但也没打对,而且有t的可能性(实际上也是个假做法)后面再暴力打表发现有周期性准备再看看模数的情况的时候lcj推了个公式一发就过了(之后就一直卡题了5555)之后看D的时候我先跟lcj说了一个想法就是2的幂次可以通过全放1的数量来进行lcj后面构造出来了就是对k采取二进制分解然后通过拼凑的方式解决并且1的情况就是题目给的样例0的
2022-04-17 18:44:59
782
原创 CodeForces - 703E Mishka and Divisors
题目大意:给你n个数和一个数k让你从n个数里选最少的数使得这些数的乘积为k的倍数并且和也要最小思路:首先考虑到1e12里的数的因子数不超过7000个(具体证明我也不清楚,只能说记住因子数一般都比较少,1e18的时候才不到1e5个因子数)然后我们考虑dp来解决问题用个pair dp[i][j]表示前i个数中第j个因子时最少能到达这个因子的数的乘积和总和然后考虑转移方程dp[i][j]=min(dp[i-1][j],{dp[i-1][x].first+1,dp[i-1][x].second+a
2022-04-13 21:58:29
230
原创 CodeForces - 209B
不咋想刷题,那就写写题解回顾一下之前的题吧- -题目链接题意:给你三个数a,b,c你可以每次将任意两个数减1然后让第三个数加1问你最少多少次操作让两个数等于0思路:首先无论咋操作都是全部数减一,操作顺序是不重要的接下来考虑操作的含义设+1的数为a,-1的数为b,c那其实操作之后a与b,c的差值就+2或者减2那么我们尽量是要最后两个数相等这样就能直接转化这两个数变成第三个数了那我们的策略就是找两个差值为偶数的设这两个数为a,b(a<b)那么我们就是a+1,b-1,c-1这样去
2022-04-05 13:17:27
671
原创 最近做项目感想
好久没写csdn了讲讲这段时间的项目的注意事项以及感想吧首先按教程安装的时候尽量严格按照教程装让你装在c盘就装在c盘32位就32位不是说其他的不能搞,但是可能就会很麻烦没领路人的情况就会可能要搞很久还有安装库的时候也要注意库是多少位的编译运行的时候也要安相同位数装还有如果按教程有时候不行可以再来一遍比如gitee代码上传的时候有时候按教程走我就是会有问题那我再换个文件夹在pull和push一下基本就好了然后这个项目可能真的是个很痛苦的过程可能你搞好一步就以为结束的时候结果下一步又
2022-02-17 00:24:55
177
原创 Harbour.Space Scholarship Contest 2021-2022 G. Common Divisor Graph
题目大意:给你n个点与q个询问当两个点不互质的时候连了一条边同时你还有个操作就是你可以选择一个点的值ai弄新的一个点an+1并且an+1=ai×(1+ai)同时这个点也会和其他与这个点不互质的点连一条边每个询问问两个点x,y最少需要几次操作后才能使两个点是连通的(每次询问独立)思路:首先我们会发现每次询问最多操作两次因为对于点x,y我们可以对ax进行一次操作使得一个新的点为偶数s再对ay进行一次操作又使得一个新的点为偶数t那么就可以通过ax->s->t->ay使得两
2021-12-01 18:43:54
345
原创 New Year Garland(dp+组合数学)
题目链接:https://ac.nowcoder.com/acm/contest/21791/I思路:dp+组合数学首先我们考虑对于单独一层长度为l的方案数是多少那么我们设f[i][j]表示长度为i,选了j种颜色的方案数(先不考虑排列那么递推式就是f[i][j]=f[i-1][j-1]+f[i-1][j]*(j-1)f[i-1][j-1]代表长度为i-1的时候选了j-1种颜色,那么这个时候必须选个新颜色才能达到j种颜色f[i-1][j]代表前面选了j种颜色,那么之后选颜色的时候只要不跟最后一
2021-11-03 12:43:38
240
原创 Educational Codeforces Round 83 (Rated for Div. 2) Count the Arrays
题目链接:https://codeforces.com/problemset/problem/1312/D题目大意:有n个数每个数的范围是[1,m]问你有多少种方案可以使得这n个数分成两部分并且前一部分严格递增后一部分严格递减并且这n个数中有且仅有两个数字相等思路:排列组合首先我们要在m个数里选出n-1个数因为只有两个数字是相同的那么就是C(n-1,m)之后要选个元素使得这个元素出现过两次同时因为最大的那个元素不能选(选了就无法出现严格递增递减情况了)那么这里的方案就是n-2之后
2021-11-02 16:02:15
154
原创 Codeforces Round #752 (Div. 2)C Moderate Modular Mode
题目大意:有t组数据给你一个数n再给你n个数字每个数字当其不能整除其下标+1的时候可以把这个数字删去并重新组成一个数组问你能不能把所有数字删了思路:暴力枚举直接看每个数字前面的位置都可不可以把这个数字删掉只要有一个数字前面的位置都不能删那肯定删不掉了其实这个思路不难但是可能有的人会想时间复杂度会不会有点大但是因为数据是1e9枚举的时候其实是枚举lcm(1,2,······,i)的次数应该大概最多也就10几是属于常数级别的所以是O(n)复杂度然后枚举位置就好啦#include
2021-11-01 23:43:36
134
原创 牛客练习赛90 D 妄想集合
题目链接:https://ac.nowcoder.com/acm/contest/11180/D思路:我们先考虑最大的集合中多少个数是不能组成三角形的假如这个集合是排过序的不能组成三角形意味着a[i-1]+a[i-2]>=a[i] (i>=2)同时我们要这个集合中包含的元素尽可能多,又因为上限1e9是确定的那么我们就可以让第一个第二个元素为1即a[1]=1,a[2]=1之后的元素都为a[i]=a[i-1]+a[i-2]那么可以发现这东西就是斐波那契数列并且通过模拟会发现集合最多.
2021-10-30 12:52:07
260
原创 Codeforces Round #748 (Div. 3)F Red-Black Number
题目大意:给你四个数n,A,B,sn代表有n个位数,s代表给你的数字你可以将s分成两部分其中一个部分的数字要能整除A另一个部分数字要能整除B并保存方案,并且要求这两部分的位数尽可能的相等而且不能将s划分成一部分如果不能输出方案就输出-1否则输出方案具体看题面思路:记忆化搜素看到数据范围很小那我们直接dfs去枚举答案注意一下记忆化就好了具体看代码注释AC代码:#include <bits/stdc++.h>using namespace std;const i
2021-10-16 16:28:00
157
原创 Educational Codeforces Round 115 (Rated for Div. 2)E Staircases
题目大意:给你三个数n,m,q代表有n*m个矩阵然后有q次操作每次操作输入x,y坐标禁止一个格子通行问你每次操作后矩阵里有多少个“楼梯"(楼梯意思是末尾如果是横的那么它前面就要是竖着的,如果是竖的就要跟着横的,具体看题面)思路:dp首先将所有楼梯给它计算出来设dp[i][j][[0/1]dp[i][j][0]表示在第i行第j列以(i,j)为结尾的楼梯末尾是竖的方案数dp[i][j][1]表示在第i行第j列以(i,j)为结尾的楼梯末尾是横的方案数并且因为本身一个格子的时候也算是楼梯
2021-10-12 21:27:28
286
原创 CF983B XOR-pyramid(dp)
题目大意:给你包含n个数的数组然后对于一个区间的询问有如下定义一直进行两两异或操作直到剩一个数为止然后会有q次询问问你区间[l,r]里这样的询问里最大值是多少思路:dp设区间[l,r]的操作值为dp[l][r]对于区间[l,r]我们可以这样想先把操作顺序换一下因为异或运算交换不影响结果b[l] ^ b[l+1]再直接去异或(b[l+1] ^b[l+2])那么dp[l,l+2]我们就能先算出来算出来这个之后我们再一步步递推再举个例子比如{1,2,3}那么f[1][3]=f(
2021-09-27 21:27:30
128
原创 Educational Codeforces Round 114 (Rated for Div. 2) D The Strongest Build(map+vector)
题目大意:给你n行数字每组数字按递增顺序给出再给你m个禁止的序列就是你不能按这些序列来选这n行的数字问你除了禁止序列的顺序外每行选一个数字的最大值思路:map+vector感觉就是考察stl运用吧…我们可以首先每行都选最后一个数字即最大的数字然后如果这个是被禁止的那么我们就遍历所有禁止的数组枚举每行的前一个数字去选如果这个枚举的序列是被禁止的那到后面会再过来遍历这个序列这样就保证了一定会遍历到最优解怎么看被禁止的话我们就可以用map[vector]去看这个数组是不是被禁止的剩
2021-09-24 23:25:59
124
原创 Codeforces Round #742 (Div. 2)D - Expression Evaluation Error
题目大意:给你t组数据每组数据给你两个数n,m表示你要把n拆成m个数在10进制下的和并且这m个数在11进制下的和要尽可能的大思路:尽量让最高位保留下来因为你拆的时候再加的时候11进制肯定比10进制要亏一个1的数所以高位能保留的就保留如果遇到要拆成好几个数保留不了高位必须拆的情况那就再去拆掉比如样例111 4先把高位100保留 然后因为11如果保留只能保留两位数了必须拆掉它那么我们可以拆成1 1 9答案就是100 1 1 9那么思路就是尽量保留高位,不能保留时拆数字实现上可以用
2021-09-07 11:15:50
166
原创 Deltix Round, Summer 2021 (open for everyone, rated, Div. 1 + Div. 2) D Take a Guess(交互+位运算)
题目大意:给你n,k一开始啥数字都不知道让你找到第k小数字然后你可以询问两个数的或运算的值或与运算然后给你结果最多询问2*n次思路:对于这个位运算我们有一个结论就是a+b=a|b+a&b(对每一位数来说)那么我们可以直接把数组中a1+a2,a1+a3,a1+a4······都求出来然后再求出a2+a3就可以算出a1了AC代码:#include <iostream>#include <algorithm>using namespace std;i
2021-09-03 23:41:56
433
原创 Codeforces Round #741 (Div. 2)D2 - Two Hundred Twenty One (hard version)
题目大意:给你t组数据每组数据给你一个n与q代表有n个长度只包含’+‘或’-'的字符串序列+代表1-代表-1区间和定义为q个询问给你l,r,让你删除[l,r]区间的一些数,使得更新后的区间和为0思路:二分首先我们要知道区间和等于0的时候我们要删几个数(这就是D1做的事情)我们设d=[l,r]区间和如果d==0的时候那肯定直接输出0就行了而如果d是奇数的时候我们用个前缀和数组ci表示[l,i]区间和那么cr=d假设现在i位置的符号是’+’那么|ci-ci-1|=1我们现在假
2021-09-02 23:19:04
138
原创 2021CCPC网络赛1007 Function HDU - 7106
题目大意:给你你一个这样的函数,g(x)代表x的每个位数和,比如g(123)代表1+2+3=6,给你A,B,C,D,N,让你求1到N最小的函数值思路:对于g(x),我们可以发现很多数的g(x)是一样的因为数据范围最大是1000000,那么g(x)最大肯定是g(999999)=54而对于每个g(x)相同的数字我们会发现它其实就是一个二次函数那么对于每个g(x)我们利用二次函数性质找对称轴与左右两个端点即可二次函数对称轴公式为-b/(2a),a代表x2系数,b代表x系数代入变量错了导致一直
2021-09-01 23:12:16
192
转载 Codeforces Round #741 (Div. 2)D
大佬的题解链接:D1:https://www.luogu.com.cn/blog/cmll02/solution-cf1562d1D2:https://www.luogu.com.cn/blog/cmll02/solution-cf1562d2
2021-08-30 23:26:19
178
原创 Codeforces Round #741 (Div. 2)C Rings(思维)
题目大意:给你t组数据每组数据给你一个n代表字符串长度然后给你一个01字符串让你取这个字符串中两个区间并且二进制转化成10进制之后是倍数关系(并且第一个区间要比第二个区间的数大)(并且区间长度>=n/2)思路:因为0如果放一个二进制数前面其实无关紧要而放后面就相当于乘2的关系那直接找到0的位置然后找一个区间包括这个0,一个区间不包括这个0,并且这两个区间取同一个方向设0的位置为i要不就是[1,i],[1,i-1]要不就是[i,n],[i+1,n]就除了0以外其他数都相同而如
2021-08-29 22:21:43
97
原创 牛客小白月赛37H
题目大意:给你t个询问每个询问给你l,r问你[l,r]里有多少个数字是能分解成两个质数的思路:线性筛的思想记录质数让i从1到1e8里遍历当目前的i是质数的时候记录下来并让他乘上之前的质数然后记录这个数如果i是合数的时候就乘上质数并且标记数字然后利用前缀和即可AC代码:#include <iostream>using namespace std;const int N=1e8+5;int pri[N];int v[N];int cnt=0;int sum[
2021-08-28 23:44:25
164
原创 Codeforces Round #740 (Div. 2, based on VK Cup 2021 - Final (Engine))B C
B题目大意:有两个人打羽毛球轮流发球现在知道这两个人赢的场数不知道是哪个人先发球让你输出发球失误可能的次数思路:找规律…写一页草稿纸差不多就分a+b为奇数的情况与a+b为偶数的情况奇数的时候比较明显比如a+b=5的时候a=5 b=0时答案为2 3a=4 b=1时答案为1 2 3 4a=3 b=2时答案为0 1 2 3 4 5之后同理奇数的时候是从中间向两边延伸的找到两个数最大值与n的差值然后长度就是(n-max(a,b)+1)*2第一个数就是n/2-(n-max(a,b)
2021-08-25 20:44:13
196
原创 Gym 101415A (约瑟夫环)
题目大意:给你一个环告诉你环的大小和第一个删除的点的位置然后每次数到第k个点后删除这个点问你最后剩下的点的编号思路:其实就是约瑟夫环的变形(难度都主要是约瑟夫环递归上了)就是约瑟夫环中找最后一个出来位置的编号而约瑟夫环是用递归实现的我们只需要改成递推用f[i]表示有i个数字的时候最后一个剩下的编号则f[i]=f[i-1]+m同时注意一下m,最后加上m即可AC代码:#include <iostream>using namespace std;int f[1001
2021-08-24 19:20:54
142
原创 Codeforces Round #739 (Div. 3) F2 - Nearest Beautiful Number (hard version)
题目大意:给你t组数据每组数据给你一个数字n与k问你比n大的最小的数字满足只出现过等于小于k次数字是多少思路:因为要比n大的最小的数字我们可以这样想当k等于1的时候答案要么全部数字是n从左往右数第一位数要么是第一位数+1那么枚举一下会发现只有前k个数字出现的位数只有可能是最后一位数变化那么我们只要先从后往前去找到前m个位数正好符合只有k次数字出现的情况然后让后面的那一位数+1并且把之后的位数清零通过这样枚举来得到答案具体复杂度感觉应该差不多就是O(n的位数)左右的复杂度具体见代
2021-08-23 22:44:26
101
原创 Codeforces Round #739 (Div. 3)E - Polycarp and String Transformation
题目大意:给你t个数据首先会有一个原串s然后把s加入到t中,之后每次删除s中的一个字符再把字符串加入t中给你串t让你求出原串s与删除字符的顺序如果不存在就输出-1思路:首先我们可以让s从后往前遍历,按顺序出现的字符肯定就是删除字符的顺序之后就是主要求原串的事情了我们可以记录每个字母出现的顺序有多少个字母出现过就说明了s重复添加了多少次那么最后一个删除的字母肯定是s重复添加过字母数量的次数的用式子表达就是for(int i=0;i<ans.size();i++)n+=v[an
2021-08-22 19:44:39
100
原创 Codeforces Round #737 (Div. 2)D - Ezzat and Grid
题目大意:给你一个n行长度为1e9的01矩阵然后给你每行1所在的位置让你删去最少的行剩下的行数每相邻的两行其中一个1的位置相同思路:dp设d[i]表示到i行时最多保留多少行d[i]=max(d[j]+1) (0<j<i)从第一行开始从上往下找当到某一行的1位置时候我们看之前是不是出现过1如果出现过就说明这两行是有可能保留下来的然后枚举一遍之前的数字就好了那么关于区间查询与区间修改呢就可以用线段树去做总复杂度就是O(nlogn)还有因为最后要输出答案,我们可以在线段树
2021-08-22 18:31:38
117
原创 Codeforces Round #739 (Div. 3)D Make a Power of Two(枚举)
题目大意:你有一个数字n每次操作你可以删除n的任意一位数或者再最右边给它添加一位数问你最少操作步骤让这个数为2的幂次思路:因为2的幂次不多我们直接枚举2的幂次看最少操作步骤即可枚举到long long即10的18次方这是它最多删了一遍+1或者加到一倍的上限AC代码:#include <iostream>using namespace std;string s;int main(){ int t; cin>>t; while(t-
2021-08-22 00:33:26
189
原创 CodeForces - 1105C(dp)
题目大意:给你三个数n,l,r让你在l到r中任选数字形成序列问你序列和%3等于0的是多少思路:dp因为是看最终的和我们先一步一步向后递推出目前位置中%3=0,1,2的数字有多少个然后dp[n][0]就是结果要注意的是r/3-l/3就是%3=0的数字数量(r+1)/3-(l+1)/3就是%3=2的数字数量(r+2)/3-(l+2)/3就是%3=1的数字数量然后根据数量递推即可具体见代码AC代码:#include <iostream>using namespace
2021-08-20 23:26:21
134
原创 UVA1252 Twenty Questions (状压dp)
题目大意:给你两个数n,m再给你n个物品的特征值用长度为m的二进制数字表示随机选一个物品让你来猜问你最少猜多少次能猜中思路:状压dp设s表示已经猜过的物品的特征值a表示s中目标物品包含的特征值用d[s][a]表示状态之后猜的时候分成两部分枚举二进制的每位数字一部分是不包含这个特征值的情况,一个部分是包含这个特征值的情况然后因为要最少猜多少次才能猜中嘛这里两个数字要取最大值,然后枚举的时候取最小值还有猜到只剩1个时候就说明猜完了只剩两个的时候再猜一次就好了具体看代码AC代码
2021-08-19 23:57:39
132
原创 UVA10817 Headmaster‘s Headache
题目大意:有m个老师与n个求职者还有s个科目老师必须选,求职者可选可不选要求这s个科目都要有至少两个人教问你最少花费是多少思路:状压dp我们可以设s1用二进制表示目前恰好有一个人教的科目s2表示有两个人教的科目s0表示目前没有人教的科目面对老师的时候把他的花费跟他教的科目都放进来而求职者的时候就有两种状态了直接跳到下一个人不选或者选他加入他的花费主要还是二进制方面表示状态的东西可能比较难想具体看代码#include <bits/stdc++.h>using na
2021-08-18 11:18:59
114
原创 Codeforces Round #738 (Div. 2) D2 - Mocha and Diana (Hard Version)(并查集)
题目大意:给你两个图问你最多同时加多少条相同的边仍使得两个图没有环思路:并查集首先我们想的话肯定是枚举i,j两个点的集合看能不能全部弄进一个集合里但这么做是O(n2)的,因为枚举两个从1到n的点那么我们就想可不可以优化枚举因为连不上边的时候就说明有至少一个图是只有一个并查集或者说成为树了我们把1所在的并查集称作并查集1我们就先枚举一个点,如果在两个图中都可以连上1这个并查集1的的我们就让这个点所在的并查集连上并查集1之后我们再看在图1中没连并查集1的点和图二中没连并查集1中的点(这些也
2021-08-17 22:22:00
155
原创 Codeforces Round #738 (Div. 2) D1 Mocha and Diana (Easy Version)(并查集)
题目大意:给你两个图问你最多同时加多少条相同的边仍使得两个图没有环思路:一开始可以想一个图的时候其实没环并且全部点联通的话就是一棵树那我们只要用并查集连上所有的点就好而两个图的时候我们就枚举两个点,看这两个点所属的集合能不能在两个图里连起来并且没有环而集合在这里用的就是并查集O(n2)复杂度在easy version这里是够的至于hard version还没研究明白- -先留着不过代码也有点长了,主要是可以不用dfs,在输入的时候直接并查集合并两个点就好了AC代码:#incl
2021-08-16 23:16:40
210
原创 UVA 1218 Perfect Service(树形dp)
题目大意:有n个点要求在一些点安装服务器,使不是服务器的点恰好与一台服务器计算机相邻最少要装多少个点思路:树形dpd[u][0]表示u是服务器,子节点是服务器或者不是服务器的状态d[u][1]表示u不是服务器,u的父亲是服务器,u的子节点都不是服务器的状态(如果有一个子节点是服务器那u久相邻两台服务器了)d[u][2]表示u和u的父亲不是服务器,u的一个子节点是服务器的状态然后就写状态转移方程(v是u的子节点)d[u][0]=sum(min(d[v][1],d[v][2])+1d[u
2021-08-14 23:48:56
136
原创 HDU - 5542 C - The Battle of Chibi (dp+树状数组)
题目大意:给你t个样例给你两个数n,m再给你n个数,让你在n个数中找长度为m的子序列(不必连续)有多少种思路:dp+树状数组优化我们用dp[i][j]表示长度为i以a[j]为结尾的子序列有多少个那么正常来说就是dp[i][j]+=dp[i-1][k] (a[k]<a[j])但是因为i和j要遍历m与n已经两重循环了再加上一个k三重循环就会T了这个时候我们可以用树状数组来优化把dp[i-1][k]全部存起来因为我们其实不需要k的确切值我们只要a[k]小于a[j]的长度为i-1的
2021-08-13 22:03:04
246
原创 2021牛客暑期多校训练营8 D OR
题目大意:给你两个数列一个数列是 ai | ai+1得到的结果一个数列是 ai + ai+1得到的结果问你有多少种方法构造ai这个数列思路:首先我们要知道对于一位数来说 a|b+a&b=a+c知道这个结论后就好办了我们单独枚举每一位位数因为一开始a1的那一位数只可能是0或1我们就让a1等于0或等于1的方案都看一遍康康等于0的时候行不行,或者等于1的时候行不行如果是ai|ai+1==1并且ai&ai+1==1的时候就说明ai+1这一位数只能是1,0的情况就彻底被否决了
2021-08-12 18:15:58
100
原创 UVA1347 Tour
题目大意:给你n个坐标按x递增顺序给出坐标让一个人按严格x递增顺序走到最后一个点之后再从最后一个点严格向左走回来要求走的时候除了起点终点经过两次以外其他点全部都经过一次问最短路径思路:dp这里紫书的第一个图是有问题的题目要求人向右走的时候x要严格增加,向左走的时候严格变小不能经过一个超过1个点坐标的时候又反过来走不然如果可以这题是无解的思路就是两个人从起点出发走两条没有相同点的路径最终走到终点设dp[i][j]表示第1个人走到第i点,第二个人走到第j点还需要多少距离到终点因为dp
2021-08-10 17:09:06
93
原创 UVa437 The Tower of Babylon(DAG上的动态规划)
题目大意:给你n个尺寸的长方形其中每个长方形可以取无限个问你叠起来最高的高度是多少(顶部长宽必须严格减少,不能等于思路:DAG上的动态规划虽然说是无限其实一个尺寸的长方形最多取三个把每个长方形三条边都作为高度这样一个长方形就有三个点,记录这个点的长宽高然后我们把每个点长宽比另一个点大的点连一条边之后利用dfs求出答案即可AC代码:#include <bits/stdc++.h>using namespace std;const int N=35;struct no
2021-08-09 11:25:34
92
原创 UVA1025 A Spy in the Metro
题目大意:给你一个n代表有n个车站再给你一个时间t你要在在t时刻的时候到达第n个车站再给你每个车从上一个车站到下一个车站所需的时间(向右的车,如果方向向左要变成下一个车站到上一个车站所需的时间)再给你一个数m1后给你m1个向左的车在起点出发的时间再给你一个数m2后给你m2个向右的车在终点向左出发的时间问你等待车最少需要的时间是多少如果到不了输出impossbile思路:dp设终点站的第t个时刻要等待的时间为0对于每个时间点的每个车站我们看它能不能尽量减少需要的时间那么对于每个时间
2021-08-09 00:54:17
83
原创 2021牛客暑期多校训练营7 H I
这场真的人麻了以后都不敢乱冲了这场我要背锅H:题目大意:问你一个数组里三个下标符合ai*aj=ak的情况有多少种思路:直接暴力当时写的n根号n冲不过去然后队友就冲过去了具体咋冲的看代码AC代码:#include <bits/stdc++.h>using namespace std;#define int long longint a[1000010];int cnt[1000010];int v[1000010];signed main(){ io
2021-08-07 22:36:44
83
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人