++
  • 2025-01-23零基础ACM学习的第一天
    importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){ //TODOAuto-generatedmethodstub Scannersc=newScanner(System.in); intt=sc.nextInt(); System.out.print("L"); for(inti=0;i<t;i++){ System.out.p
  • 2025-01-23日常刷题2025-1-23
    日常刷题2025-1-23D.InaccurateSubsequenceSearchrating:1400https://codeforces.com/problemset/problem/1955/D思路(定长滑动窗口)定长滑动窗口,r只管加,l只管减即可。代码#include<bits/stdc++.h>typedefstd::pair<longlong,longlong>pll;typedefstd::pa
  • 2025-01-23CF2063C Remove Exactly Two
    前言提供一个不需要分讨的\(O(Tnlogn)\)做法。解题思路首先会想到选出度数最大和次大的两个点删除。但是注意到,有三个度数都为最大的点连在一起的时候,你不能先删中间的点。(可以随便举个例子手玩一下。)这时有人就开始思考dp或者分类讨论了。这时候想我这种没有思维的人
  • 2025-01-22【优选算法篇】2----复写零
    ---------------------------------------begin---------------------------------------这道算法题相对于移动零,就上了一点点强度咯,不过还是很容易理解的啦~题目解析:这道题如果没理解好题目,是很难的,但理解题目就容易啦讲解算法原理:意思就是:一个数组长度是固定的,里面的
  • 2025-01-22Codeforces Round 1000 (Div. 2)
    A.MinimalCoprime题意:互素区间是指\(gcd(l,r)=1\)的区间,极小互素区间是互素区间并且没有一个被他包含的区间也是互素区间。问你区间\([l,r]\)里有多少个极小互素区间。根据数论的基础知识,\(x,x+1\)一定是互素的,所以统计所有长度为\(2\)的区间就行,不过要注意,\([1,1]\)是
  • 2025-01-22C. Game of Mathletes(题解)
    首先Alice擦一个数a,然后Bob再擦一个数b,只有当a+b=k的时候才可以得分,Alice想要最小化分数而Bob想要最大化分数,所以如果给定的数中存在两个数的和为k,那么当Alice擦掉其中一个的时候Bob一定会擦掉另一个来得分,而且题目给定的数组长度为偶数,所以我们只需要运用双指针的思想找到数组
  • 2025-01-22A - 字符串的展开
    001.字符串的展开原题链接:字符串的展开纯模拟题AC代码:#include<bits/stdc++.h>#definelllonglong#defineendl'\n'usingnamespacestd;stringstr;voidextend(chara,charb,intp1,intp2,intp3){ //确定起点终点,填充字符类型,填充次数,填充顺序 intn=
  • 2025-01-22KMP
    KMP算法。其核心思想是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数,以达到快速匹配的目的。$KMP$算法的时间复杂度为$O(m+n)$,其中$m$是模式串的长度,$n$是文本串的长度voidzwpp(intn)//自我匹配{p[1]=0;for(inti=1,j=0;i<n;i++){while(j>0&&b
  • 2025-01-22日常训练2025-1-22
    日常训练2025-1-22FTokitsukazeandEliminate(hard)https://ac.nowcoder.com/acm/contest/67742/F思路(小巧思)标准的Trick题,构造一个样例来模拟一下会发现,在删的那个数的位置之后的每一种数都至少出现了一次,他是最后出现的。模拟这个过程就行。代码#include<bits/std
  • 2025-01-21日常训练2025-1-21
    日常训练2025-1-21E双生双宿之错rating:1300https://ac.nowcoder.com/acm/contest/95323/E思路(数论)本题考查中位数定理,中位数有这样的性质:所有数与中位数的绝对差之和最小。中位数是数列中间的那个数,或者是中间的那两个数之一。所以最后得到的双生数组中的两种数即为数列
  • 2025-01-212025牛客寒假算法基础集训营1
    A.茕茕孑立之影题意:给你\(n\)个数,你要找一个数使得这个数和数组的任意一个数都不成倍数关系。如果数组里有\(1\)肯定不行,\(1\)是所有数的因子。其他情况我们只需要找一个大质数就行,因为值域只有\(1e9\),可以输出\(1e9+7\)。点击查看代码voidsolve(){ intn; std::cin>>
  • 2025-01-21IAEPC Preliminary Contest (Codeforces Round 999, Div. 1 + Div. 2)
    A.KevinandArithmetic题意:给你\(n\)个数,你一开始有一个\(x=0\),每次你让\(x\)加上一个没用过的数,然后\(x\)会一直除二直到变成奇数。如果你加上一个数后能除2,分数加1,问分数最大多少。奇数后面加奇数才能是偶数,但一开始\(x\)是零,那么需要一个偶数,否则只能浪费一个奇数。所
  • 2025-01-21谭浩强C程序设计课后习题(第7章)
    1.写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。#include<stdio.h>intgongyue(inta,intb){ intt; if(a<b){ t=a; a=b; b=t; } while(b){ t=a%b; a=b; b=t; } retu
  • 2025-01-21谭浩强C程序设计课后习题(第6章)
    1.用筛选法求100之内的素数。#include<stdio.h>intmain(){ inta[100]={0},i,j; for(i=0;i<100;i++) a[i]=i+1; for(i=2;i<100;i++){ for(j=2;j<a[i];j++){ if(a[i]%j==0) break; } if(j>=a[i]){ printf(&quo
  • 2025-01-20图论-岛屿数量问题
    代码随想录笔记-图论岛屿问题内容:题目描述:LeetCode 200.岛屿数量-力扣(LeetCode)(图源自代码随想录官网)本题是经典的图论遍历问题,只要能完成遍历即可,核心在于只要发现一块地,那么标记一下已经走过即可,以上图例输出为 3  -DFS深度优先搜索方法:每次
  • 2025-01-209.List(带头双向循环链表)
    1.迭代器介绍1.单向迭代器(InputIterator):++<forward_list>,<unordered_map>,<unordered_set>2.双向迭代器(BidirectionalIterator):++/--<list>,<map>,<set>3.随机迭代器(RandomAccessIterator):++/--/+/-<vector>,<deque>,<str
  • 2025-01-20CDQ 分治 && 整体二分
    CDQ分治主要用于解决偏序问题。在偏序问题中,以三维偏序居多。它是一种离线算法。其实严格来说,它是一种思想而不是算法。它依赖于归并排序。CDQ分治也可以用于1D/1D动态规划的转移,不过目前暂不涉及。偏序问题什么是偏序?先从一维偏序说起。一维偏序给定\(n\)个点,每个点
  • 2025-01-20Codeforces Round 998 (Div. 3)
    题目链接:CodeforcesRound998(Div.3)总结:复建,Cwa两发,E读假题了。A.Fibonaccinesstag:签到Solution:简单模拟一下即可。voidsolve(){inta[5];for(inti=0;i<5;i++){if(i==2){continue;}cin>>a[i];
  • 2025-01-20冲刺蓝桥杯之速通vector!!!!!
    文章目录知识点创建增删查改习题1习题2习题3习题4:习题5:知识点C++的STL提供已经封装好的容器vector,也可叫做可变长的数组,vector底层就是自动扩容的顺序表,其中的增删查改已经封装好创建constintN=30;vector<int>a1;//创建叫a1的空的可变长的数组vector<int>a2
  • 2025-01-20leetcode 221. 最大正方形
    题目如下数据范围典型的动态规划题。令f(i,j)为以i,j为右下角左边正方形的最大边长,当且仅当f(i,j)>0(即矩阵(ij)不为’0’)时f(i,j)=min(f(i,j-1),f(i-1,j-1),f(i-1,j))对这个方程不太理解的话借用leetcode官方的图也就是说边长为n的正方形可以由3个
  • 2025-01-19java基本运算符
    在运算中:运算时定义不同的类型时,结果都自动升为混合运算类型中最高类型关系运算符:返回的结果:正确,错误,布尔值关系运算符%:模运算,取余+,-,*,/++:自增(b=a++即b=a+1,先执行a+1在赋值)(b=++a即b=a+1,a+1后在赋值)--:自减(b=a--即b=a-1,先执行a-1在赋值)(b=--a即b=a-1,a-1后在赋值)幂运算:2的三
  • 2025-01-19121. 买卖股票的最佳时机
    买卖股票的最佳时机/***@param{number[]}prices*@return{number}*/varmaxProfit=function(prices){letmax=0;for(leti=0;i<prices.length;i++){for(letj=i+1;j<prices.length;j++){letprofit=prices[j]-prices[
  • 2025-01-19模拟
    天梯赛使用OMS监考系统,需要将参赛队员安排到系统中的虚拟赛场里,并为每个赛场分配一位监考老师。每位监考老师需要联系自己赛场内队员对应的教练们,以便发放比赛账号。为了尽可能减少教练和监考的沟通负担,我们要求赛场的安排满足以下条件:每位监考老师负责的赛场里,队员人数不得超
  • 2025-01-19洛谷P1807 最长路(拓扑排序)
    题目链接:P1807最长路-洛谷|计算机科学教育新生态题目描述设 G 为有 n 个顶点的带权有向无环图,G  中各顶点的编号为 1 到 n,请设计算法,计算图 GG中 1,n 间的最长路径。输入格式输入的第一行有两个整数,分别代表图的点数 n 和边数 m。第 2 到第 (m+1)
  • 2025-01-19leetcode——三数之和(java)
    给你一个整数数组nums,判断是否存在三元组[nums[i],nums[j],nums[k]]满足i!=j、i!=k且j!=k,同时还满足nums[i]+nums[j]+nums[k]==0。请你返回所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例1:输入:nums=[-1,0,1,2,-1,-4]输