TT
  • 2024-10-0201 交换串 题解
    题意简述给定一个长为\(n\)的\(\tt01\)串\(s\),你需要对\(s\)进行恰好\(m\)次交换,每次只能交换相邻的不同字符,最大化操作后\(s\)的价值。\(s\)的价值被定义为,对于每一个\(i\),记\(1\simi-1\)中,和\(s_i\)不同的\(s_j\)有\(l\)个,\(r\)同理,\(f(s_i,i,l,
  • 2024-10-01C/C++算法编程笔记(2024.9.26-9.30)
    一、并查集学习一:1、寻找根节点(两种)intfind(intx){if(x!=city[x]) city[x]=find(city[x]);returncity[x];}intfind(intx){ returnfa[x]==x?x:fa[x]=find(fa[x]);}2、合并不同集合voidmerge(intx,inty){inta=find(x);intb
  • 2024-09-27Codeforces Round 944 (Div. 4) A~G题解
    A\(min\)函数和\(max\)函数的使用,按照格式输出即可。#include<bits/stdc++.h>usingnamespacestd;typedeflonglongLL;typedefpair<int,int>PII;voidsolve(){intx,y;cin>>x>>y;cout<<min(x,y)<<'
  • 2024-09-27斜率优化解题报告(uoj转)
    任务安排1~3:模版。用到一个著名的思想:费用提前计算。暴力维数高的原因是不能较快的知道前面分了几批但是一旦分了一批,对后面都会有\(S\)的时间叠加所以不妨设\(f_i\)表示已知会花费的时间min,\(f_i=\min_{j=1}^{i-1}f_j+(SC_i-SC_j)\cdotST_i+S\cdot(SC_n-SC_j)\)
  • 2024-09-27单调队列优化DP解题报告(uoj转)
    Fence\(K\)很小,考虑\(K\)开一维,\(N\)开一维\(f_{i,j}\)表示前\(i\)个工匠粉刷前\(j\)个木板的最大花费\(f_{i,j}=\min_{k=j-l_i}^{s_i-1}f_{i-1,k}+(j-k)\cdotp_i\)拆开为\(f_{i,j}=f_{i-1,k}-k\cdotp_i+j\cdotp_i\)\(i\)固定时维护\(f_{i-1,k}-k\cdotp_i\)的最小
  • 2024-09-23用结构体永久存储下标
    ds题目#include<iostream>usingnamespacestd;typedefstructNode{intindex;intdata;}node;constintN=10010;nodea[N];intoutput[N];inthh=1,tt=0;intcnt;boolis_max(Noder[],Nodes,inthh,inttt){for(inti=hh;i
  • 2024-09-21单调栈-滑动窗口
    830.单调栈模板题:给定一个长度为N的整数数列,输出每个数左边第一个比它小的数,如果不存在则输出−1。输入格式第一行包含整数N,表示数列长度。第二行包含N个整数,表示整数数列。输出格式共一行,包含NN个整数,其中第i个数表示第i个数的左边第一个比它小的数,如果不存
  • 2024-09-19The 2024 ICPC Asia East Continent Online Contest (I)——F. Make Max
    https://qoj.ac/contest/1794/problem/9313#include<bits/stdc++.h>#definexfirst#defineysecondusingnamespacestd;typedeflonglongll;typedefpair<ll,ll>pii;constintN=2e5+10,mod=1e9+7;lln,m,q;inta[N],stk[N],tt;intl[N],r[N];
  • 2024-09-17【洛谷 P1048】[NOIP2005 普及组] 采药 题解(动态规划+01背包)
    [NOIP2005普及组]采药题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株
  • 2024-09-17巧用AI工具,为大家送去中秋节祝福
    一、前言Python中包含多种画图模块,包括matplotlib、pygame、Pillow(PIL)、pyplot、PycAIro、Pyglet等。matplotlib 是最为著名和功能强大的数据可视化库,它不仅能够创建静态、交互式和动态的图表,而且支持多种图形界面工具包,如Tkinter、wxPython等,广泛应用于科学计算领域
  • 2024-09-13大模拟
    P1039[NOIP2003提高组]侦探推理#include<bits/stdc++.h>#definelllonglongusingnamespacestd;constintN=100;intm,n,p;//同学数;说谎数量;证言数量strings[N];//第i个人的名字map<string,int>id;//名字为s的idmap<string,int>Days=
  • 2024-09-13HISTOGRA - 最大矩形面积(单调栈)
    include<bits/stdc++.h>usingnamespacestd;definexfirstdefineysecondtypedefpair<int,int>PII;typedeflonglongll;typedefunsignedlonglongull;typedefunsignedintuint;typedefvectorVS;typedefvectorVI;typedefvector<vect
  • 2024-09-122024.9.12 CF1783 VP
    A:先将\(a\)降序排序,此时只有位置\(2\)有可能不满足条件。找到最小的\(i\ge2\)使得\(a_1\neqa_i\)(不存在则无解),然后交换\(a_2,a_i\),即为一个解。点击查看代码#include<bits/stdc++.h>#defineintlonglong#definepsbkpush_back#definefstfirst#definescdse
  • 2024-09-07浙大数据结构:02-线性结构4 Pop Sequence
    这道题我们采用数组来模拟堆栈和队列。简单说一下大致思路,我们用栈来存1234.....,队列来存输入的一组数据,栈与队列进行匹配,相同就pop1、条件准备stk是栈,que是队列。tt指向的是栈中下标,front指向队头,rear指向队尾。初始化栈顶为0,队头为0,队尾为-1#include<iostream>usingn
  • 2024-09-04Codeforces Round 971 (Div. 4) ABCD题详细题解(C++,Python)
    前言:    本文为CodeforcesRound971(Div.4)ABCD题的题解,包含C++,Python语言描述,觉得有帮助或者写的不错可以点个赞    比赛打了没一半突然unrated了就不是很想继续写了,早起写个题解    (之前的div3也没复盘,哎真菜)目录题A:题目大意和解题
  • 2024-08-24栈的实现.
             这是C++算法基础-数据结构专栏的第二十一篇文章,专栏详情请见此处。引入        栈是一种常用的一种线性数据结构。它的使用非常广泛,例如在函数调用中用于保存局部变量、在表达式求值中用于保存操作数等。        下面我们就来讲栈的实现
  • 2024-08-20题解:AT_abc365_c [ABC365C] Transportation Expenses
    题意已知\[\sum_{i=1}^{n}\min(x,a_i)\lem\]问\(x\)最大为多少。思路由于答案具有单调性,所以考虑二分答案。但是有一点要注意,当\(\sum_{i=1}^{n}a_i\lem\)时,应该输出infinite。因为此时的\(x\)可以为任意一个数。ACcode#include<bits/stdc++.h>#defineintun
  • 2024-08-19[题解]UVA1127 Word Puzzles
    UVA1127WordPuzzles我们对模式串建立AC自动机,然后就比较板子了,只需要把\(8\)个方向都跑一遍匹配就可以了。时间复杂度是\(O(T\times8nm)\)。注意输入是大写字母。点击查看代码#include<bits/stdc++.h>#defineK1010//模式串个数&矩阵长宽#defineN1000010//节点个
  • 2024-08-17n1gr tS0i 题解
    前言题目链接:洛谷。想了一个小时,想到后只用\(1\)分钟过了的题。官方题解过于晦涩,看到一篇很清晰的题解,于是写题解以记之。终于遇到时间瓶颈在输入的题目。题意简述有一个长度为\(n\)的\(\tt01\)串\(S\),你要对\(S\)进行恰好\(n\)次操作。每次操作选择\(1\leq
  • 2024-08-15[lnsyoj2271/luoguP3745/省选联考 2017]期末考试
    题意给定长度为\(n\)的序列\(t\)和长度为\(m\)的序列\(b\),以及常数\(A,B,C\),可以进行两种操作:选取任意\(1\lex,y\len\),并使\(b_x+1,b_y-1\),记进行了\(\alpha\)次这种操作;选取任意\(1\lez\len\),并使\(b_z-1\),记进行了\(\beta\)次这种操作。求进
  • 2024-08-12zkw线段树
    介绍非递归线段树实现方法,码量较短。zkw线段树的构造原理:普通线段树采用堆存储,zkw线段树本质上是满二叉树(若没有该区间则为空点)但根据实际情况,原区间不一定构成满二叉树,据查询方式限制,空间开到最接近的\(2^n\)(据性质树值域=底层节点数),即不存在的点有虚点填充。既然不
  • 2024-07-31Educational Codeforces Round 168 (Rated for Div. 2) (4/6)
    比赛链接:https://codeforces.com/contest/1997solve:ABCD开头:终于能上青名了,本来以为还得打个两三场,看来这暑假必须上蓝名了,不过这一场说实话感觉运气成分大一点,先稳住青名,最近感觉有点懒惰了,欠了好几场补题,牛客多校还有好多场qwq,得努力了A.StrongPassword思路:
  • 2024-07-28AtCoder Beginner Contest 363
    比赛地址添加链接描述A-PilingUp算法:模拟题目大意在AtCoder竞赛平台中,用户的等级通过正整数分数表示,并根据分数显示相应数量的^符号。分数与^符号显示的规则如下:当分数在1到99(包括99)之间时,显示一个^。当分数在100到199(包括199)之间时,显示两个^。
  • 2024-07-25[lnsyoj538/luoguP3628/APIO2010]特别行动队
    题意原题链接给定序列\(a\)和自定义二次函数\(f(x)=ax^2+bx+c(a<0)\),要求将\(a\)分为几段(不妨设为\(k\)段),使得\(\sum_{i=1}^{k}f(\sum_{j=l_i}^{r_i}a_j)\)的值最大,求最大的值sol设计状态转移方程。显然,\(dp_i\)可以由\(dp_j\)转移当且仅当\(j<i\),这表示
  • 2024-07-2451nod-1288汽油补给
    1288汽油补给https://class.51nod.com/Html/Textbook/ChapterIndex.html#textbookId=126&chapterId=337这道题算DP纯粹是个幌子,其实就是一个贪心的过程。为什么要留后面价格贵的油?因为可能不够用,先存着;而如果前面的贵,由于有\(T\)限制,所以在能够装满的同种情况下,用后面