- 2024-11-21[NOIP2022] 建造军营
前言米奇妙妙\(\rm{dp}\),也是高端计数这种题看得懂想不出,还是非常难蚌能不能多想想再去看\(\rm{TJ}\)啊算法注意到除了割边,其他的边都没有影响,显然可以缩\(\rm{e}\)-\(\rm{DCC}\)再进行处理这里发现缩完之后形成一棵树,考虑树形\(\rm{dp}\)这里我有一个误
- 2024-11-13P2612 [ZJOI2012] 波浪 题解
前置知识:连续段dp题目链接:P2612[ZJOI2012]波浪随机一个\(1\)到\(n\)的排列\(P_{1...n}\),问以下式子的值\(\lem\)的概率是多少?\[|P_1-P_2|+|P_2-P_3|+|P_3-P_4|+...+|P_{n-1}+P_n|\]输出一个答案表示概率。保留\(k\)位小数。对于\(40%\)
- 2024-11-12动态规划技巧
一些对于动态规划的技巧,与优化进行区分。技巧学过之后是简单的,但是不学基本上写不出来,这些技巧一般只是解题的一小步,或者状态的设计与优化,但其实是至关重要的。1.费用提前计算当DP中当前决策会影响未来的费用/贡献,且该费用/贡献仅与当前决策相关,这样我们可以提前计算所影响
- 2024-11-08#473. 编辑 & P5479 [BJOI2015] 隐身术
模拟赛出到加强版了,一点不会所以记录下。枚举每个后缀。设\(f_{i,j}\)为操作\(i\)次,长度增加\(j\),即插入的次数减删除的次数,所能匹配到的最大位置。也就是\(A\)的前\(f_{i,j}\)位匹配\(B\)的前\(f_{i,j}+j\)位。考虑转移。假如已经操作完了,那显然有\(f_{i,j}\ge
- 2024-10-31SS241031C. 博弈(game)
SS241031C.博弈(game)题意博弈的规则是,有\(3\)个数字\(x,y,z\),每次可以选择其中两个数字\(x,y\),改成\(x',y'\),满足和不变差严格变小,即\(x+y=x'+y',|x-y|>|x'-y'|\)。无法操作的失败。给你\(n\)个数字,问有多少种选\(3\)个数字的方案使得先手必胜。solution首先可以设
- 2024-10-23利用数组处理批量数据之习题
用筛选法求100以内的素数//用筛选法求100以内的素数#include<stdio.h>intmain_6__1(void){ intarr[101]={0}; for(inti=0;i<101;i++)//赋值 arr[i]=i; arr[0]=arr[1]=-1;//挖掉 for(inti=0;i<100;i++) { if(-1==arr[i])//被挖
- 2024-10-23查看执行计划 autotrace 指标详解
autotrace看执行计划,逻辑读,递归调用等sql执行信息。评估的执行计划非真实执行计划,即使是执行了,显示的均是explain的信息。执行输出示例:SQL>settimingonSQL>setautotraceonSQL>selectMGR,wm_concat(ENAME)fromemp2groupbyMGR;MGRWM_CONCAT(ENAME
- 2024-10-1810.14 总结
T1赛时没有想到什么思路。下文中所有的\(t\)代表所有的文件中的一个。考虑DP定义\(f_{i,j}\)为已经考虑完了\(s\)中的前\(i\)个点,匹配了\(t\)的前\(j\)个点的方案数,转移就是:\[\begin{cases}s_{i+1}=t_{j+1}&f_{i+1,j+1}\getsf_{i,j}\\s_{i+1}
- 2024-10-182024.10.18 test
B\(n\)次操作,每次操作选择下面三个中的一个:令\(P\getsP+x_i+S\);\(S\getsS+y_i\);\(D\getsD+z_i\)。在每次操作后,\(S\getsS+D\)。询问\(P\)的最大值。\(n\le80,x,y,z\le1e9\)。由于不可能把\(P,S,D\)存进状态里,考虑拆贡献,即计算每个操作对后面的贡献。\(D\getsD+z_
- 2024-10-17CSP-S2019
括号树题意:给定一棵树,以\(1\)为根,每个点有字符(或)。定义\(s_i\)为\(i\)到根的路径的子串中合法括号序列的个数,求\(\bigoplus_{i=1}^ni\timess_i\),\(1\len\le5\times10^5\)。记\(p_i\)为\(i\)的父亲,\(a_i\)为\(i\)到根的路径以\(i\)结尾的合法括
- 2024-10-16C 语言中的基本输入与输出
1.字符输出函数putcharputchar函数是字符输出函数,其功能是在终端(显示器)输出单个字符。其函数原型为:intputchar(intch);ch表示要输出的字符内容,返回值作用为:如果输出成功返回一个字符的ASC码,失败则返回EOF即-1,如代码:putchar(‘A’);/*输出大写字母A*/putchar(x);/*输
- 2024-10-1610.16 总结
T1赛时拿的30分暴力,没想到60分,但是预期:30pts,实际:30pts正解把一个人劈成四瓣,然后用树状数组维护不是\(i\)这个人以外的\(0,a_{(i,0)},a_{(i,1)},a_{(i,1)}+a_{(i,0)}\)以上的所有人的个数,最后除以\(16\),就行了。T2赛时时正解,然后因为没有写check然后就小样例
- 2024-10-092024.10.9 LGJ Round
B对于所有\(x\in[0,n],y\in[0,m]\),求执行\(x\getsx+y,y\getsx+y\)若干次后满足\(x=k\)的双元组个数。这个题充分体现我的唐氏。具体地枚举\(x,y\)分别被算了多少次,系数是斐波那契数列,所以项数很少。然后转化为求\(k_1x+k_2y=k\)的方案数,这个我非常唐不会求。只需
- 2024-10-07联测 3
唐氏模拟赛,这没AK我是不是该退役了A枚举矩形上下边界所在的行,拿个桶扫一遍容易算出这两行的贡献。B【模板】离散化+【模板】差分C区间DP,\(f_{i,j}\)表示只留\(i\)子树,所有询问用到的区间个数之和最小是多少。D计数转概率。如果是树的话,考虑维护\(p_i\)表示当前
- 2024-10-01CSP2024-30
A题意:将一个圆等分为\(K\)分,给出其中\(n\)个等分点的编号,\(x_i<x_{i+1}\)。有向边\(i\toj\)存在,当且仅当\(j\)是距离\(i\)最大的点(不唯一),且与图中其他边无交点(端点不算)。求图中最多有多少条边。\(3\leK\le10^9,3\len\le\min(K,10^5)\)。引理:不存在
- 2024-09-309.30 模拟赛
得用kunkka号看。题解A.网瘾少年很好很好的贪心题。弱化版是[CSP-J2023]公路,这题没有油箱限制。首先判掉无解:存在\(d_i>T\)。用单调栈求\(nxt_i\)表示\(i\)之后第一个油价比\(i\)低的位置,没有为\(n+1\)(终点)。因为\(nxt_i\)的油价比\(i\)低,所以你肯定
- 2024-09-28BUUCTF(PWN)- rip
BUUCTF(PWN)-rip打开题目得到靶机信息:node5.buuoj.cn:29045和附件pwn1查看文件信息为64-bit,用ida打开附件首先shift+f12查找字符串,能看见system、/bin/sh字样,点击pleaseinput或者ok,bye!!!跳转直接进入main函数查看gets并没有限制输入,gets函数的缓冲
- 2024-09-22Codeforces Round 974 (Div. 3)
A:按题意模拟。B:\(i^i\)与\(i\)奇偶性相同,求\((n-k,n]\)的奇数个数。C:二分答案。D:即求每个\((i-d,i]\)有多少线段覆盖。扫到\(i\)时加入所有\(i=l\)的,弹出所有\(r\lei-d\)的。E:枚举相遇点,答案就是\(\min\big(\max(d_1,d_2)\big)\),最短路时记录状态
- 2024-09-1820240918:DP选做
本文为@A_zjzj《dp专题》学习笔记。转移性质Lanterns题意:\(n\)个灯笼拍成一排,第\(i\)个灯笼具有\(p_i\)的亮度。每个灯笼要么朝向左照亮\([i-p_i,i-1]\),要么朝向右照亮\([i+1,i+p_i]\)。寻找一种方案,为所有的灯笼定向,使得每一个灯笼被至少一个其他灯笼照
- 2024-08-25题解:CF1995C Squaring
题意给定序列\(a\),每次操作可以使\(a_i\getsa_i^2\),求使\(a\)不降的最少操作次数。分析因为\(1^k=1\),所以无解的情况只有\(\exist\a_i=1\)且\(\exist\j\in[1,i),a_j>1\)。在有解的情况下,假设对\(a_{i-1}\)操作\({k_{i-1}}\)次,对\(a_i\)操作\({k_i}\)次。
- 2024-08-072024.8.7 模拟赛题解
T1过于简单,不必阐述。T2给定一个仅包含\(A\)和\(P\)的字符串,每次操作可以删除相邻的\(AP\)或者\(PP\),问字符串最后的最小长度。$Sol:$为求最值问题,考虑贪心。先给出考场做法。发现若干的\(P\)是一定能合并掉的,于是贪心策略,就是如何最小化\(A\)的个数。对于每个
- 2024-08-05AGC046C 题解
blog。好菜啊,不会这题,来写个题解/kel。很难直接做,先找一点性质:操作只改变相对顺序,而总数不变。这启示我们记录每个\(0\)前面的极长\(1\)连续段长度。记第\(i(1\lei\leC)\)个\(0\)对应长度为\(a_i\),就存在下面的等价表述:每次操作可以选定\(i,j(1\lei<j\leC)\),
- 2024-07-31学习日记:一维字符型数组
目录1.格式2.字符串长度3.字符数组的输入输出3.1gets函数3.2puts函数3.3scanf函数3.4printf函数4.字符串处理函数4.1strlen函数(计算数组长度)4.2strcpy函数(复制字符串)4.3strcat函数(拼接字符串)4.4strcmp函数(比较字符串)1.格式数据类型数组名[数
- 2024-07-27ABC265F 题解
题面\(O(nd^2)\)考虑\(f(i,j,k)\)表示dp到第\(i\)维,距离\(p,q\)曼哈顿距离\(j,k\)的方案数。考虑朴素转移:设\(dis=|p_{i+1}-q_{i+1}|\)。\[\begin{aligned}f(i+1,j+t,k+dis-t)&\getsf(i,j,k)&(0\leqt\leqdis)\quad&(1)\\f(i+1,j+d+t,k+t)&\ge
- 2024-07-25CF1015F 题解
题面考虑这样的匹配问题,可以想如何确定第一次匹配,这样可以不重不漏地计数。考虑dp的时候同时维护有几个括号没有匹配,匹配到\(s\)的第几位,所以令\(f(i,j,k)\)表示dp到(要计数的序列的)第\(i\)个字符,有\(j\)个左括号没有匹配,匹配到\(s\)的第\(k\)位。转移很容易,考