- 2024-11-05noip模拟赛6
A选彩笔(rgb)一眼转三维坐标系搞。但是最开始想歪了,以为要转曼哈顿距离,但是发现三维切比雪夫距离不支持转曼哈顿距离。补充一个知识点\(x\)维的曼哈顿距离支持转到\(2^{x-1}\)维的切比雪夫距离所以一维和二维可以直接转化,但是三维及以上就不行了。三维曼哈顿距离等同于某
- 2024-11-05P5308 [COCI2018-2019#4] Akvizna
原题链接奶龙题,主要是凸性的证明,然后wqs二分求解即可。轮数的选择是\(1\)~\(n\),假如是\(1\)轮,答案显然为\(1\),为\(n\)轮,答案就是\(\sum_{i=1}^{n}i^{-1}\),从这里就可以直接猜出凸性了。然后是不考虑轮数限制的求法,直接dp即可:\(f_{i}=\max\{f_j+\frac{i-j}{i}\}\),
- 2024-11-05P4383 [八省联考 2018] 林克卡特树
简化题意,给一棵树,找出恰好\(k+1\)条链,是这些链之和最大。有恰好选出的字眼,并且原问题显然具有凸性,直接考虑wqs二分。然后每条链会减去二分的\(mid\),然后没有限制,求最大链和及链的数量,考虑树形dp。设\(f_{x,0/1/2}\)表示以\(x\)为根的子树,\(x\)点入度为\(0/1/2\)所
- 2024-11-042024.11.05 刷题训练
2024.11.05刷题训练P7054NWRRC2015Graph构造题,把拓扑序中的队列换成小根堆是最小字典序,此时设置一个大根堆,用于处理连边问题。设\(lst\)是上一个拓扑序中的节点。小根堆堆顶大于大根堆,当前位置最优解,不耗费连边数量。小根堆堆顶小于大根堆,若\(k\)不为\(0\)加入到大
- 2024-11-0420241101
T1美丽的序列dp中记录每个数上一次出现位置和当前位置的差,和\(7\)(或这个数)取\(\min\)。状态数很少,直接做即可。代码#include<iostream>#include<unordered_map>#include<vector>#include<map>usingnamespacestd;constintP=1000000007;inlinevoidMadd(
- 2024-11-04367. 有效的完全平方数
题目自己写的:classSolution{public:boolisPerfectSquare(intnum){intl=1,r=num;while(l<=r){intmid=l+(r-l)/2;if((longlong)mid*mid<num)l=mid+1;elseif(
- 2024-11-04题解 P11232【[CSP-S 2024] 超速检测】
题目描述小D新入职了某国的交管部门,他的第一个任务是负责国家的一条长度为\(L\)的南北主干道的车辆超速检测。为了考考小D,上司首先需要他解决一个简化的场景。这个周末,主干道上预计出现\(n\)辆车,其中第\(i\)辆车从主干道上距离最南端\(d_i\)的位置驶入,以\(v_i\)的
- 2024-11-04【笔记/模板】线段树(改)
线段树线段树是OI竞赛中最强大的数据结构之一,可以用来维护和、积以及最值等具有合并性质的信息。一般线段树P3372【模板】线段树1-洛谷|计算机科学教育新生态(luogu.com.cn)P3373【模板】线段树2-洛谷|计算机科学教育新生态(luogu.com.cn)以模板一为例:cla
- 2024-11-04SP30785 ADAAPPLE - Ada and Apple 题解
洛谷题目传送门博客园可能食用更佳题目大意:给定一棵权值为000或11
- 2024-11-03The 3rd Universal Cup. Stage 15: Chengdu
A.ArrowaRow一个简单的构造题,构造的思路是先把又侧的连续>放满,再从左侧逐个开始放,如果是>就放一个长度为5的,如果是-,可以一次性直接把连续的都放了。#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64=longlong;usingvi=vector<int>
- 2024-11-03【LeetCode:153. 寻找旋转排序数组中的最小值 + 二分】
在这里插入代码片
- 2024-11-02B3629 吃冰棍
题目描述机器猫喜欢吃冰棍。买一根冰棍,吃完了会剩一个木棒;每三个木棒可以兑换一个冰棍。兑换出来的冰棍,吃完之后也能剩下一个木棒。所以,如果机器猫买了5根冰棍,他可以吃完之后得到5个木棒;拿3个木棒兑换1根冰棍,余2个木棒;吃完兑换来的冰棍之后,手上有3个木棒,又能兑
- 2024-11-0269. x的平方根
题目刚开始写的:classSolution{public:intmySqrt(intx){if(x==0)return0;intl=0,r=x;while(l<r){intmid=l+(r-l)/2+1;if(mid*mid>x)r=mid-1;els
- 2024-11-0234. 在排序数组中查找元素的第一个位置和最后一个位置
题目参考了y总讲的这题789.数的范围自己是这样写的;classSolution{public:vector<int>searchRange(vector<int>&nums,inttarget){vector<int>result(2,-1);intl=0,r=nums.size()-1;while(l<r){
- 2024-11-0220241030每日一题洛谷P1147
普及-每日一题洛谷P1147题目描述对一个给定的正整数\(M\),求出所有的连续的正整数段(每一段至少有两个数),这些连续的自然数段中的全部数之和为\(M\)。例子:\(1998+1999+2000+2001+2002=10000\),所以从\(1998\)到\(2002\)的一个自然数段为\(M=10000\)的一个解。输入格式
- 2024-11-0220241029每日一题洛谷P1024
普及-每日一题洛谷P1024有形如:\(ax^3+bx^2+cx+d=0\)这样的一个一元三次方程。给出该方程中各项的系数(\(a,b,c,d\)均为实数),并约定该方程存在三个不同实根(根的范围在\(-100\)至\(100\)之间),且根与根之差的绝对值\(\ge1\)。要求由小到大依次在同一行输出这三个实
- 2024-11-02ACW--基础语法1(快排,归并,二分)
1.快排2.归并3.二分通过与中间值mid比较,选择左边或是右边,就是二分具有单调性的一定可以使用二分法解决没有单调性,有时候也可以用二分3.1整数二分划分思路:整数二分有两个模板,一个是区间[l,r]被划分成[l,mid]和[mid+1,r]时使用的,还有一个是区间[l,r]被划分为[l,mid-1]
- 2024-11-02——二分查找——
注意:代码中的left、right、mid都是下标,只有val代表的是值,区别好,才能更好理解代码。一、代码实现deffun(li,val):left=0#下标第一个right=len(li)-1#下标最后一个whileleft<=right:#查找范围,左
- 2024-11-02二分法:高效查找的数学利器
二分法:高效查找的数学利器二分法,又称为二分查找,是一种在已排序数组中查找特定元素的高效算法。其基本思想是通过每次将查找范围减半来迅速定位目标值。以下将详细介绍二分法的原理、实现步骤及其应用场景。一、基本原理二分法的工作原理如下:初始设置:设定两个指针,left指
- 2024-11-02SP30785 ADAAPPLE - Ada and Apple 题解
洛谷题目传送门博客园可能食用更佳题目大意:给定一棵权值为\(0\)或\(1\)的树,\(n\)个点,\(q\)次操作:0i把结点\(i\)的权值取反;1ij询问点\(i\)到点\(j\)的最短路径上权值是否全为\(0\)或全为\(1\)。题目分析:树上操作,看了下操作发现是树剖板子题。开
- 2024-11-01AGC 杂题
AGC029CLexicographicconstraints有\(n\)个字符串,现在告知它们的长度\(a_i\),求使得\(\foralli\in[1,n),s_i<s_{i+1}\)的最小字符集大小。\(n\le2\times10^5,a_i\le10^9\)二分字符集大小\(|\Sigma|\),分类讨论,设起始字符为a:\(a_i<a_{i+1}\):显然\(s_{i+1}\leftarr
- 2024-11-01整数二分 ——洛谷p9240冶炼金属
#include<bits/stdc++.h>#defineendl'\n'#defineINF0x3f3f3f3f#defineintlonglongusingnamespacestd;constintN=1e4+10;inta[N],b[N];intn;//找左节点boolcheck_min(intmid){ for(inti=0;i<n;i++) { if(b[i]<a[i]/mid) return
- 2024-11-01错误记录2
1.理解错误-超起步里程后/10公里内,走过的mile<=10;而不是mile=3+10;-保留到元,四舍五入,虽然结果为整数,但并不代表着变量为int类型拿这里举例子来说:车费为double类型,只是输出时用“%.0lf”来保证结果四舍五入2.在bin_search函数中,当前的条件判断逻辑可能导致在某些情况下
- 2024-11-01[luogu P11189] 水杯降温
纯粹是自己太唐导致的我们发现其实这两种操作是独立的,并不需要考虑操作的相对顺序。这时候就有两种解决顺序:先子树加再链减先链减再子树加由于我一开始看错题了,所以我选了第一种思路,然后就爆炸了。所以我们选第二种,钦定\(d_x=a_{fa_x}-a_x\),那么最后子树加的时候
- 2024-10-31CSP-S 2022 - 模拟赛记录
PrefaceT1调的太久了,应当先打够部分分就切题的,全分思维难度不高,代码难度超高。可能是出题人知道把最简单题放T2有点过于恶心,所以后两道题的部分分都很好打,给的分也很多,一共\(55\)分可以轻松到手。就是第二题卡了一个unsignedlonglong,有点莫名其妙,而且T1放模拟也是头