- 2024-07-24题解:P10450 [USACO03MAR] Best Cow Fences G
题目链接O(n^3)做法直接暴力枚举长度、起点,再全部跑一边求平均数。附上我丑陋的代码和提交记录,这个代码可以得42分。#include<bits/stdc++.h>usingnamespacestd;constintNR=1e5+5;longlongn,l,a[NR],sum,ave;intmain(){ cin>>n>>l; for(inti
- 2024-06-30牛客周赛49
比赛链接:牛客周赛49赛时感受A思路 代码#include<bits/stdc++.h>usingnamespacestd;#definelllonglongconstintN=1e5+10;intmain(){lla,b;cin>>a>>b;cout<<a-b*11<<endl;return0;}B思路
- 2024-06-04acwing329 围栏障碍训练场 题解
考试压轴题,意识到这题是线段树优化\(dp\)时追悔莫及。为了简化题目,我将从起点到原点变成了从原点到起点(这样就可以省去两个数组的空间)。想到设\(dp_{i,j}\)表示在第\(i\)层,奶牛们在\(j\)列时的最小移动范围,则转移方程为(设输入为\(l,r\)):\[\begin{cases}dp_{i,j}=dp_{
- 2024-05-06机器人跳跃问题
机器人正在玩一个古老的基于DOS的游戏。游戏中有N+1座建筑——从0到N编号,从左到右排列。编号为0的建筑高度为0个单位,编号为i的建筑高度为H(i)个单位。起初,机器人在编号为0的建筑处。每一步,它跳到下一个(右边)建筑。假设机器人在第k个建筑,且它现在的能量值
- 2024-04-06CF916C 题解
CF916C题解思路思考发现,如果我们让很多边的边权变得非常大,而故意留下\(1\)到\(n\)的某一条路径,使整条路径之和甚至还没有剩下一条边的权值大,这条路径显然就是最短路了。更重要的是,这样构造的结果,这条路径同时还是整张图的最小生成树。这样我们只需要找一个\(100000\)
- 2024-04-04luoguP1102-双指针
题目链接:P1102A-B数对-洛谷|计算机科学教育新生态(luogu.com.cn)利用单调性求解双指针解法:排序构造出区间单调,则若存在目标值B,B在序列中一定为连续区间,此时通过双指针l和r,此时维护一段区间:有S[L]大于S[I]-C,S[R]大于等于S[I]-C,此时我们枚举每一位,若存在A
- 2024-02-162023.2.16 LGJ Round
A你有一个数组\(a\),初始为\(0\),你要使\(a_i\geh_i\),你可以把任意相邻两个\(a\),一个加一,另一个加二。问最少操作多少次。\(n,h\le1e6\)。B你需要求大小为\(n\)的环的个数,使得旋转后都不同。你可以选若干个点出来染上\(k\)个颜色中的一个,但是相邻两个点不能都能染颜
- 2024-01-14模拟 - CF1196C Robot Breakout
RobotBreakout(CF1196C)思路这道题因为平面极大,暴力枚举每个点肯定会超时。所以,我们不妨从机器人出发。我们可以枚举每个机器人可以执行的操作:位置从\((X_i,Y_i)\)变为\((X_i-1,Y_i)\),即向左走。位置从\((X_i,Y_i)\)变为\((X_i,Y_i+1)\),即向上走。位置从\((X_
- 2023-12-25LY1099 [ 20230222 CQYC模拟赛 T2 ] 相似序列
题意给定一个序列。每次询问求两个区间排序后是否只有一个或者没有位置不同。Sol不难想到主席树维护值域。考虑如何判断。注意到当前答案正确,当且仅当值域上两点不同且相邻。维护每个点的哈希值判断即可。Code#include<iostream>#include<algorithm>#include<cstdio
- 2023-12-24Knapsack 2
这个题目的体积很大,但是价值却很小,最多是1e5,我们可以转变背包体积概念,把价值当作体积,然后体积当作DP值。dp[i]表示的是达到i价值所需的最小的体积#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN=1e5+10;constintM=105;intdp[N];//
- 2023-12-24Longest Path
每个点肯定是它上个点转移过来的#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;vector<int>a[N];intd[N],dp[N];voidsolve(){ intn,m; cin>>n>>m; for(inti=1;i<=m;i++){ intu,v; cin>>u>>v; a[u].push_back(v
- 2023-10-15《看了受制了》第四十二天,3道题,合计250道题
2023年10月13日Acwing1049大盗阿福题目理解代码实现#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;intn;intf[N][2],w[N];voidsolve(){memset(f,0,sizeoff);cin>>n;for(inti=1;i<=n;i++)cin>&
- 2023-08-222023.8.22 模拟赛
ABFSB一个长\(n(n\le1e5)\)的字符串\(S\),长\(m(m\le30)\)的字符串\(T\),\(S\)的每个位置有权值\(a_i\)。\(q(q\le1e5)\)次询问\(l,r\),求\(T\)作为一个子序列出现在\(S(l,r)\)中的所有方案中,\(T\)出现的位置的权值和。先考虑\(a_i=1\)。显然有\(f_{i,j}=
- 2023-07-166929.数组的最大美丽值-355
数组的最大美丽值给你一个下标从0开始的整数数组nums和一个非负整数k。在一步操作中,你可以执行下述指令:在范围 [0,nums.length-1]中选择一个此前没有选过的下标i。将nums[i]替换为范围[nums[i]-k,nums[i]+k]内的任一整数。数组的美丽值定义为数
- 2023-07-15abc084d <素数筛 前缀和>
题目D-2017-likeNumber思路筛出数据范围1e5范围内的素数检查每个素数是否为2017-like对1~1e5内的2017-like求前缀和,回答询问总结如果数据范围允许,进行预处理,查表回答询问代码Code//https://atcoder.jp/contests/abc084/tasks/abc084_d#include<iostre
- 2023-05-24对数组去重的常见方法
1.排序+去重方法一:unique+sort#include<bits/stdc++.h>usingnamespacestd;constintN=1e5+10;intn;inta[N];intmain(){ cin>>n; for(inti=0;i<n;i++)cin>>a[i]; //排序+去重 sort(a,a+n); n=unique(a,
- 2023-04-11Divisors UVA - 294
求区间[L,R]的整数中哪一个的正约数最多。 一个数因数分解后,它的约数Cnt=(a[j]+1)的乘积,j是每个因数的个数 #include<iostream>#include<cstring>#include<cmath>#include<algorithm>usingnamespacestd;constintM=1e5+30;#defineintlonglo
- 2023-03-10C - Choosing flowers(贪心)
题目https://codeforces.com/contest/1379/problem/C题意输入t(≤1e4)表示t组数据。所有数据的m之和≤1e5。每组数据输入n(≤1e9)m(≤1e5)表示有m种
- 2023-03-042023.3.4 NOI春季赛游记
2023.3.3Day-1本来想着去机房试试小黑屋的Linux顺便敲点板子然后正好因为腿疼拿到了体活课的假条就直接体活+自习+晚自习一起翘掉去机房了晚上6点他们去吃饭我下楼
- 2023-02-20AcWing 3956. 截断数组 [前缀和]
AcWing3956.截断数组[前缀和]原题链接讲解视频思路题意是将一串数字从中间切两刀分成三段。每一段的和都相等。要求这三段每一段的和都相等,那么总和肯定是3的倍数,
- 2023-02-13算法题——截断数组
题目:截断数组要求将数组分成三个非空子数组,并且三个子数组内元素和相等,所以该数组最少要有3个元素,另外假设数组所有元素和为x,那三个子数组的元素和都为x/3,因此数组元素
- 2023-01-05agc059 A - My Last ABC Problem
题意:排列可视为映射给定一个A,B,C字符串str。每次操作选择一个子串并对其应用一个ABC的排列对应的映射。每次询问至少要多少次操作才能让子串str[l..r]中的全部
- 2023-01-05AcWing4655.重新排序
题目原题链接参考题解AcWing4655.重新排序思路用两个数组,一个数组\(a\)来记录原数组,\(b\)数组来记录每个数字被计算了多少次,题目中给的是$[l,r]$区间内的数字求和,
- 2022-10-1910.19总结
[2022-51nod赛前模拟]csp-s第6套-T1题目描述给出一个n个点m条边的有向图,顶点编号1到n,边的编号为1到m。你可以选择一些边进行反转(即从u到v的边反转后变
- 2022-10-09ABC 272 E Add and Mex(调和级数 暴力)
EAddandMex(调和级数暴力)题意: 给出一个长度为n\(\le1e5\)的数组a,每秒对数组中的数加上其下标,例如\(a_i\)在第一秒为\(a_i+i\),第二秒为\(a_i+2i\)。请输出前m\(\le