首页 > TAG信息列表 > 100001

浅谈DFS(上)

前言 到底有什么前言呢? 板子 void dfs(int x) { if (x == 某个条件) { //输出 puts(""); return; } for (int ; ; ) { if () { st[i] = 1; //按照操作执行 dfs(x + 1); st[i] = 0; //归0 } } } 首先,如果我没有猜错的话,各位都是从数字排列的题目学

【YBT2022寒假Day1 C】相似子串(SA)(RMQ)(LCP)

相似子串 题目链接:YBT2022寒假Day1 C 题目大意 给你一个数字串,然后每次问你一个子串,问这个数字串中有多少个子串(包括自己)跟它相似。 定义相似是长度相同,且数组可以通过把数字集体置换成另一种形式得到另一个数组。 思路 考虑把这个相似的属性转化一下,把相等的颜色要求去掉: 可以从

【SSL2882】 排队【单调栈】

分析 单调找求右边第一个大于等于它的数,记录位置差值 上代码 #include<iostream> #include<cstdio> #include<algorithm> #include<stack> using namespace std; stack<int> st; long long n,a[100001],ans,t[100001]; int main() { cin>>n; for(int i=1;i<

20211106NOIP模拟赛

前言 芜湖起飞!!国际金牌出的题就是比国内金牌出的题好做!!! 成功的狗到了160分(据说T2输出0有十分??) T1 一道逆元题: 得分:\(\color{green}{100}\) 考场上青禾巨佬12分钟切掉(但被卡了10分),本蒟蒻两个半小时才做对\(QWQ\) 分析题意,我们可以把它转换为抛骰子的问题,为抛到一种情况的期望次数。

【luogu P4755】Beautiful Pair(ST表)(笛卡尔树)(主席树)

Beautiful Pair 题目链接:luogu P4755 题目大意 给你一个数组,问你有多少个区间 [l,r] 满足 l 位置上的值乘 r 位置上的值小于等于区间中的最大值。 思路 看到求最大值,你考虑把每个数可以作为最大值掌控的范围求出来,分别解决。 这个可以通过建立笛卡尔树来解决,不过我们不用真的建树,

【ybtoj高效进阶 21286】等差数列(数学)(分类讨论)

等差数列 题目链接:ybtoj高效进阶 21286 题目大意 给你一个数组 A,里面元素互不相同,问你是否可以把它重排成一个数组 B,使得它在模 M 的意义下是等差序列。 只需输出首项和公差即可。 思路 首先发现 \(M\) 是质数,那就说明无论公差是什么(反正他都是小于 \(M\)),那它在模 \(M\) 意义下的

【ybtoj高效进阶 21285】独立生物(图论)(博弈论)(DP)

独立生物 题目链接:ybtoj高效进阶 21285 题目大意 给你 k 个无向图,和一个点数为 n^k 的无向图 G,G 图中点的表示方式是可以 k 元组。 若设一个 k 元组内所有数的和是 x,G 图中这个点的点权为 V^x。 判定无向图两个点是否有边的方法是:它们转成的 k 元组只有一位不同,而且在那一位对于的

【ybt高效进阶 21161】复杂问题(图论)(分类讨论)(MIM / Meet In Middle)

复杂问题 题目链接:ybt高效进阶 21161 题目大意 给你一个无向图,我们定义一个四元环为一个四个点的集合,这四个点(u,v,x,y)构成的子图,存在边 (u,v),(v,x),(x,y),(y,u)。 然后点有点权,四元环的点权就是那四个点的点权之和。 然后要你求这个图所有四元环的点权和。 思路 在做这道题之前呢

【ybt高效进阶 21162】双面扑克(图论模型)(线段树)(并查集)

双面扑克 题目链接:ybt高效进阶 21162 题目大意 给你 n 个牌,正面反面都有数,多次询问,每次问你能不能凑出 l~r 的顺子。 思路 考虑建立图论模型。 如果一个牌的正反面分别是 \(x,y\),就把 \(x,y\) 连一条边。 然后考虑怎样是可以凑出顺子的。 我们可以对于考虑每个数在图论模型中的连

补题*总结题21/8/25

C - Coprime 2 题意: 给出n个数,在[1,m]范围那找出与这n个数都互质的数。 思路1: 直接暴力,结果不出所料 时间复杂度O(n* m),直接超时 代码: 展开源码 int gcd(int a, int b) { return b == 0 ? a : gcd(b, a% b); } int main() { int i,j; int n,m; cin>>n>>m; in

P6560 [SBCOI2020] 时光的流逝

P6560 [SBCOI2020] 时光的流逝 博弈论水题 #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<queue> using namespace std; int n,m,qq; queue<int> q; int cn; int cntt[100001]; int tu[100001],ct[100001];

SqlServer事务详解(事务隔离性和隔离级别详解)

概述   不少人对于事务的使用局限于begin transaction:开始事务、commit transaction:提交事务、rollback transaction:回滚事务的初步运用。 并且知道使用事务后, 事务中所有操作命令必须作为一个整体提交或回滚,如果事务中任何操作命令失败,则整个事务将因失败而回滚。   除了这

P2760 科技庄园

Aimee "Doctor,你觉得问题在哪" "就在这里" 不能摘得桃树没有意义,一次摘得消耗是一样得,而且把时间和体力的消耗是一样的,那么也不用开二维了,记得给他留一点体力就可以了 剩下的就是个多重背包 # include<iostream> #include<cstdio> #include<cstring> #include<algorithm> #define

【ybt金牌导航5-2-3】【luogu P4292】重建计划

重建计划 题目链接:ybt金牌导航5-2-3 / luogu P4292 题目大意 要你在一棵树中找一个边个数在一个区间范围内的路径,使得这个路径边权的平均值最大。 输出平均值。 思路 看到平均值最大,自然想到二分答案。 然后权值减去二分值,就是要找长度在区间范围内的路径使得边权和为正。 (其实这

斜率优化小结

任务安排2 题意 \(N\)个任务排成一个序列,分成若干批,执行一批任务所需的时间是启动时间加上每个任务所需时间之和。 同一批任务将在同一时刻完成。每个任务的费用是它的完成时刻乘以一个费用系数\(C_i\)。 求最小的总费用。 思路 设f[i][j]为把前i个任务分成j批的最小费用。 f[i][j

【最短路径】回家

【最短路径】回家 题目描述 现在是晚餐时间,而母牛们在外面分散的牧场中。农民约翰按响了电铃,所以她们开始向谷仓走去。你的工作是要指出哪只母牛会最先到达谷仓(在给出的测试数据中,总会有且只有一只速度最快的母牛)。在挤奶的时候(晚餐前),每只母牛都在她自己的牧场上,一

【ybt金牌导航1-5-4】【luogu CF311B】【LOJ 10187】猫的运输 / Cats Transport

猫的运输 / Cats Transport 题目链接:ybt金牌导航1-5-4 / luogu CF311B / LOJ 10187 题目大意 有一些猫,它们各在一条链的某条位置上,会在某个时刻出现,之后就会等待。 然后有一些人在链的最左边,以一个单位长度每单位时间往右走,然后他会带走他所在位置出现的所有猫。每个人的开始

基于docker的opengauss入门

基于docker的opengauss入门 1. 以操作系统用户omm登录数据库主节点。 [root@ecs-c9bf ~]# su - omm 2.连接默认数据库 gsql -d postgres -p 26000 -r 3.创建数据库用户 create user guet with password "Bigdata@123"; 4.创建数据库 create database guet_data owne

【ybt高效进阶3-4-4】恒星的亮度

恒星的亮度 题目链接:ybt高效进阶3-4-4 题目大意 有一些恒星,每个恒星有亮度。 给出一些恒星亮度的相对关系,询问这些恒星亮度总和至少有多大。 恒星最暗的亮度是 \(1\)。数值越大越亮。 关系有两个亮度相等,一个比另一个亮或暗,一个不比另一个亮或暗。 思路 首先,有一个小坑,就是不大于

【ybt金牌导航2-2-1】最长公共子串

最长公共子串 题目链接:ybt金牌导航2-2-1 题目大意 要找一个字符串,使得它的长度尽可能的大,而且对于每个字符串,它在字符串或者它的翻转串的其中一个串中出现过。 只要输出最长的长度即可。 思路 这道题我们考虑用 SA 加二分来做,虽然有很多解法。 首先,你把每个字符串和他们的翻

SMZX十日游(第二阶段RMQ)RMQ学习笔记

创作背景 今天是在SMZX的第四天,终于学习新知识了,感动。所以,当然要写博客好好总结一番 RMQ原理 这里有一个小问题: 有N个数,M次询问,每次给定区间[L,R],求区间内的最大值。 N<=10,M<=10 暴力打擂台就可以了 倘若把问题改一改呢: N<=1e5,M<=1e5 正常的暴力就会分分钟\(TLE\)警告 那怎

严格递增序列

 想了很久没想出来,无奈之下看了题解。 如果 a[i] < a[j] ,因为要保证都是整数,所以 j - i 必须要小于 a[j] - a[i] ,才能使区间 i,j 内的所有数均可修改。 j - i < a[j] - a[i] 移项得 a[i] - i < a[j] - j。 所以 a[i] 里要存 a[i] - i 的值,则求出最长不下降子序列后就可以保证其中

Apple Tree树状数组、前向星、DFS序(C语言)

Apple Tree树状数组、前向星、DFS序(C语言) 题目 输入值 第一行包含一个整数Ñ(Ñ ≤100,000),这是树中的叉的数量。 接下来的N -1行分别包含两个整数u和v,这意味着fork u和fork v通过分支连接。 下一行包含的整数中号(中号≤100,000)。 以下中号行,每行包含一个消息,该消息或者是 “

CF704E. Iron Man

题目大意 一棵树上有m个人,每个人有出现时间、速度以及起点终点,到达终点时会瞬间消失,求最早两人相遇的时间 n,m<=1e5 题解 树剖变成若干线段求交,按照时间排序后set维护即可,相交的两个只可能相邻所以只用考虑相邻两个的 注意考虑k相等的情况 code #include <bits/stdc++.h> #define

P1015 回文数

题目描述 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。 例如:给定一个十进制数 5656,将 5656 加 6565(即把 5656 从右向左读),得到 121121 是一个回文数。 又如:对于十进制数 8787: STEP1:87+78=16587+78=165 STEP2:165+561=726165+561=726 STEP3:726+627=13537