• 2024-05-31Atcoder ABC355 C~F
    C出题人太善良了,加强到\(10^5\)都没问题。考虑维护每条横线竖线两条对角线上被标记的点的个数,每次标记点后,判断是否有线上点全被标记。再考虑如何将点编号转为坐标,记编号为\(t\),推柿子:\[(x-1)\timesn+y=t\]\[nx+y=t+n\]\[x=\frac{t+n-y}{n}\]等同于找到\(y\)使得:\[n
  • 2024-05-23蓝桥杯-班级活动
    题目描述小明的老师准备组织一次班级活动。班上一共有(n)名((n)为偶数)同学,老师想把所有的同学进行分组,每两名同学一组。为了公平,老师给每名同学随机分配了一个(n)以内的正整数作为id,第(i)名同学的id为(a_i)。老师希望通过更改若干名同学的id使得对于任意
  • 2024-05-16PWM呼吸灯
    PWM呼吸灯设计一个周期是8ms的PWM,用来控制LED实现呼吸灯的效果。1. 设计分析PWM的周期为8ms,每0.1秒调整一次占空比,分10档,从95%、85%、....5%。这里需要设计三个计数器:8ms的计数器,0.1秒的计数器,1秒的计数器。经过测试可以发现档数越多,间隔越小,呼吸灯的效果就越细腻。 2. 代
  • 2024-05-06整体二分学习笔记
    最近准备学数据结构乱搞,接下来学k-dtree大致介绍可以使用整体二分解决的题目需要满足以下性质:1.询问的答案具有可二分性2.修改对判定答案的贡献互相独立,修改之间互不影响效果3.修改如果对判定答案有贡献,则贡献为一确定的与判定标准无关的值4.贡献满足交换律,结合律,具有可加
  • 2024-04-26查找链表倒数第k个数位置上的结点
    (1)描述算法的基本思想由题可知,该链表是个单向链表,如果要找到倒数第k个值,我们必须找到该链表的尾部,而单向链表从尾部向头部找倒数第k个值比较麻烦,所以我们可以从头部去找倒数第k个值(2)描述算法的详细实现步骤我们可以利用两个指针去遍历该链表,一个指针遍历完该链表计算出结点个数
  • 2024-04-18POI2010TEL-Teleportation
    分层图#贪心#POI#Year2010考虑将答案的图建成一个\(5\)层的图,其中\(1,2\)为第\(1,5\)层,第\(2,4\)层为已经与\(1,2\)相连的点考虑将剩下的点与第\(2,4\)层相连,贪心选尽可能大的//Author:xiaruizeconstintN=2e5+10;intn,m;vector<int>g[N];intcn
  • 2024-04-15边遍历边统计妙用
    链接:https://ac.nowcoder.com/acm/contest/80259/B来源:牛客网时间限制:C/C++1秒,其他语言2秒空间限制:C/C++262144K,其他语言524288K64bitIOFormat:%lld题目描述小红来到了地下城的一个房间,房间被分成n行m列的格子,小红站在其中一个格子上,她可以向一个方向攻击整条直线
  • 2024-04-12ZCMU-1053
    比较简单记录一下主要感觉它这个题目没说清楚,题目要求:先有n,接着给出长度为n的标准组,然后给出猜测组,输出的两个数一个是有多少个是相对应的既相同坐标其数值也相同,后一个是两个都有但是位置不同(不含已经相同的)我觉得它少了一类个例子:类似于123436133343思路:用
  • 2024-04-07小红书推荐系统(小红书24秋招后端开发)
    题面核心思想map记录String的出现次数set去重+自定义排序代码importjava.util.*;importjava.util.function.Function;publicclassMain{publicstaticvoidmain(String[]args){finallongMOD=(long)(1e9+7);Scannerscanner=new
  • 2024-03-30逆序并查集
    以L2-013红色警报为例原题链接https://pintia.cn/problem-sets/994805046380707840/exam/problems/994805063963230208?type=7&page=1下面贴上代码#include<iostream>usingnamespacestd;constintN=510;intp[N],g[N][N];intfind(intx){if(x!=p
  • 2024-03-27P1339 [USACO09OCT] Heat Wave G
    题解Dijkstra算法的应用,我这里采用了堆结构优化+反向索引堆优化最大化的优化了时间复杂度。题解区的复杂度是O(mlogm)而我优化后达到了O((n+m)logn)即复杂度和点的个数相关,而非边的条数。code #include<bits/stdc++.h>usingnamespacestd;constintN=6200*2+5;intn,m,s,t,
  • 2024-03-16LeetCode 992. K 个不同整数的子数组
    解题思路举一个例子可能会比较好理解nums=[1,2,1,2,3],k=2i表示的是右指针,j表示的是左指针。i=3时,需要求出符合子数组中含有k个不同整数,此时的j1=0需要求出符合子数组中含有k-1个不同整数,此时的j2=1j1~j2之间就是符合子数组中含有k个不同整数的子数组个数。相
  • 2024-02-20CF1411F The Thorny Path
    转化一下问题,即为给定\(n,a_{1,\cdots}\)满足\(\sum\limitsa_i=n\)。接下来可以花费\(1\)代价把\(x=y+z\)的\(x\)拆为\(y\)和\(z\)或者把\(y\)和\(z\)合并成\(x\)。求最后的\(a'\)的\(\max\{\proda'_i\}\)和达成的最小代价。首先对于第一问,就
  • 2024-01-21图论总结——拓扑排序
    图论总结——拓扑排序例\(1\):排水系统(不是很模板的模板题)思路模板题,但是要进行分数约分,所以又不是很模板直接进行计算即可。注意计算过程中很可能爆\(long~~long\)类型范围,需要用\(int128\)类型进行存储。代码#include<bits/stdc++.h>#defineintlonglongusingn
  • 2023-12-24最短路计数
    前置知识最短路的一个很好的性质:从\(s\)到\(t\)的最短路上的一个节点\(k\),都满足\(s\)到\(k\)的路径是关于\(s\)单源最短路的最短路证明:反证法,假设\(s\)到\(k\)的路径不为最短路,但\(s\tok\tot\)为到\(t\)的最短路,那么\(s\tok\tot\)的路径一定不会比\(s\)到\(k\)的最
  • 2023-11-10牛客练习赛118
    A.HardKMPProblem#include<bits/stdc++.h>usingnamespacestd;constintN=30;intcnt1[N],cnt2[N];strings,t;voidsolve(){memset(cnt1,0,sizeofcnt1);memset(cnt2,0,sizeofcnt2);cin>>s>>t;for(inti=0;s[i];
  • 2023-10-29Luogu P4168 [Violet] 蒲公英 题解
    题目链接[Violet]蒲公英分析可以先将\(a[i]\)离散化然后考虑分块对于询问\(x,y\),\(x\)属于\(p\),\(y\)属于\(q\)当\(q-p<=1\)时直接暴力枚举即可,时间复杂度为\(O(\sqrt{n})\)\(else\)如图中间为分好块的地方我们发现,\(ans\)只可能为中间的众数或两边的
  • 2023-10-29第 369 场周赛(简单位运算,分类讨论,dfs,树形dp)
     简单位运算模拟classSolution{public:intfindKOr(vector<int>&nums,intk){vector<int>bit(32,0);for(inti=0;i<31;i++){intcnt=0;for(autox:nums){if(x>>
  • 2023-10-16约瑟夫环问题
    我今天要讲的问题是约瑟夫环问题。本蒟蒻第一篇学术文章,多多支持,写的不好请见谅。洛谷题库约瑟夫环问题这题是一道好题目,我这里推荐两种解法1.直接模拟我用了一个数组来模拟,在圈内为无穷大,不在圈内则为0。模拟时要注意以下几点:如果当前已经出了圈,那么这个位置不算一人。
  • 2023-10-15快速排序相关
    对八个元素的序列进行快速排序,在最好的情况下,元素间的比较次数为13#include<stdio.h>#defineM8intcnt=0;intquickp(inta[],intl,intr){inti=l,j=r,k;inttmp=a[l],cnt2=0;while(i!=j){//左右未遍历完成while(j>i&&a[j]>tmp){
  • 2023-10-14高精度算法
    1.高精度加法这个比较简单一些,主要是考虑满10进位的问题,直接写代码就可以。(若数字很大的话,不太好运算,所以将数字转化成字符串的形式输入)#include<iostream>usingnamespacestd;constintN=100010;intA[N],B[N],C[N];intAdd(inta[],intb[],intc[],intcnt)
  • 2023-10-09小完能干脆面
     题目描述  思路数据量有一百万,从时间复杂度分析,应该是O(n)或顶多O(n*log(n))(1)错误思路  O(n*log(n))的算法考虑,二分长度进行检验,O(log(n))的二分长度,O(n)的检验,欲实现O(n)的检验,还需要前缀和处理一下intsum[1000009][2009];//sum[i][j]表示前i位中j号干
  • 2023-10-04CF1234(Div. 3) 题解(A to E)
    AEqualizePricesAgain题解题目大意\(n\)个商品,每个商品价格为\(a_i\),求一个最小的价格\(x\),使得不亏本(即\(\sum\limits_{i=1}^n{(a_i-x)}\ge0\))。解题思路输出平均数向上取整(即\(\left\lceil(\sum\limits_{i=1}^n{a_i})\divn\right\rceil\))即可。代码#include<bit
  • 2023-09-289.26雅礼致郁赛
    总结难难难难难!!!0+0+35=35(呃呃呃呃这都能得第五T1大概是提高组第三题(
  • 2023-07-30最长(不)上升子序列
    直接用lower_bound()和upper_bound()进行二分查找1b[0]=a[0];2//最长不上升子序列3for(inti=1;i<cnt;i++){4if(b[cnt1]>=a[i])5b[++cnt1]=a[i];//序列向后移6else{7intx=upper_bo