Skip to content

泉州一中信息学Blog

信息学奥赛技术分享博客

  • 登录
  • 小学oj
  • 中学oj
  • 测试页面1
  • Toggle search form

2025暑假中山集训Day2——7.27

Posted on 2025年7月27日2025年7月27日 By 郑, 铭轩 2025暑假中山集训Day2——7.27无评论

早上7:30,我们来到了这与我们泉州第一中学有长达2个汉字的最长公共子序列的中山纪念中学。

上午

打比赛—-2025.07.27【提高B组】模拟赛

传送门

T1(30 -> 100)

T1详情

题目描述
  被认为天才的小头遇到麻烦了!!这天数学课老师给出了一
  道难题,而小头居然没能在3秒内解决,可见此题难度之大。
  问题是这样的:n个整数围成一个环,老师要求选出其中的
  若干数,使得选中的数所组成的环中,两个相邻数的差的绝对
  值不等于1。在满足这个前提下,问最多能取多少个数。

输入
  第一行一个正整数n,表示有n个数
  第二行n个整数,a1、a2……an 按顺时针方向围成一个环。

输出
  一个正整数,即表示最多能选多少个数。

赛时思路:

1.暴力枚举出所有可能的环
2.然后判断是否合法,求长度的最大值

赛时代码:

标程思路:

法一:
1.设dp[i]表示取第i个数时的最多选的个数
2.状态转移方程:dp[i]=dp[j]+1(1≤j≤i-1 && abs(a[j]-a[i])!=1)
3.用线段树来维护数值为a[i]时dp[i]的最大值
法二:
1.设dp[i]为距离起始点为i-1的点的贡献
2.每次记录三个最大值用于维护,然后枚举一个向后的点去转移,因为每个点作为起点或者是加入别的起点的答案,那么只需要枚举一定量不同的起点即可(据推出大概是 10)

标程代码:



T2(60(80) -> 80)

T2详情

题目描述
    在2016年,佳媛姐姐喜欢上了数字序列。因而他经常研究关
于序列的一些奇奇怪怪的问题,现在他在研究一个难题,需要你
来帮助他。
    这个难题是这样子的:给出一个1到n的全排列,现在对这个
全排列序列进行m次局部排序,排序分为两种:
        (0,l,r) 表示将区间 [l,r] 的数字升序排序
        (1,l,r) 表示将区间 [l,r] 的数字降序排序
    最后询问第q位置上的数字。

输入
    输入数据的第一行为两个整数n和m。n表示序列的长度,m表
示局部排序的次数。1≤n,m≤10⁵
    第二行为n个整数,表示1到n的一个全排列。
    接下来输入m行,每一行有三个整数op,l,rop为0
代表升序排序,op为1代表降序排序,l,r表示排序的区间。
    最后输入一个整数q,q表示排序完之后询问的位置,1≤q≤n。

输出
    输出数据仅有一行,一个整数,表示按照顺序将全部的部分
排序结束后第q位置上的数字。

赛时思路:

暴力,可以得80分

赛时代码:

标程思路:

1.对于30分,直接按照操作暴力即可。
2.对于100分显然是不能直接暴力的。可以想到二分答案。分析时间复杂度,发现对于每次操作,必须不大于log2(n)才能,线段树!对于二分的答案,将大于这个的数变为1,小于的变为0。对于一个区间,从小到大排序就是把0堆在前面,1放在后面,从大到小排序则相反。这可以用线段树区间修改来做到。最后再按照第k位看看是0还是1来修改区间。

标程代码:

没打,就不放了

T3(0(5) -> 100)

T3详情

题目描述
    JOI王国共有N个城市,这些城市从1到N编号。共有M条公交线
路连接这些城市,这些线路从1到M编号。第i(1≤i≤M)条公交线是
从城市U_i到城市V_i的,票价为C_i日元。如果乘客乘坐第i条公
交线,他只能在城市U_i上车,在城市V_i下车。从一个城市到另
一个城市可能有多条公交线。
    不久,JOI王国将举办奥运会。K理事长是JOI王国交通部部
长。他会在奥运会之前选择最多一条公交线,并翻转这条公交线
的起点和终点,但不改变票价。换句话说,如果他选择第i条公交
线,在奥运会期间它将不会从U_i城市开往V_i城市,而是从V_i城
市开往U_i城市,但票价仍为C_i日元。翻转一条公交线需要D_i
日元,并且这个钱是K理事长出的。为了避免迷惑行为,在奥运会
期间不允许翻转公交线。
    因为K理事长是JOI王国的交通部部长,在奥运会期间他会使
用这些公交线在城市1和城市N之间往返。通过恰当地选择翻转某
条(或不翻转任何)公交线,他想要最小化往返城市1和城市N的
公交总票价与翻转公交线的代价和。
    现给定城市数和公交线情况,写一个程序求出这个最小代价
和。如果不能通过翻转某条公交线来达到往返城市1与城市N的目
的,请输出-1。

输入
    第一行两个整数N,M,意义如题目描述;
    接下来M行,每行四个整数U_i,V_i,C_i,D_i,意义如题目
描述。

输出
    输出一行一个整数,如果可以通过翻转某条(或不翻转任何)
公交线使得可以往返于城市1与城市N,输出往返所需公交总票价
与翻转公交线的代价和的最小值,否则输出-1。

赛时思路:

Dijkstra+暴力

赛时代码:


标程思路:

1.对于5分,暴力枚举更改边,然后直接上dijkstra。
2.对于100分,考虑对刚刚的暴力进行优化,发现对复杂度影响最大的其实是m
在每次枚举边,修改边,重新计算的过程中可以先求出最短路径生成树
对于一条边:
(1)不在最短路径生成树中:就是原最短路,必须经过该边,但路径上的其他边都必须是在最短路径树上
(2)在最短路径生成树中:翻转后,重新计算即可

标程代码:



T4(0 -> 0)

T4详情

题目描述
    Temmie村里有很多提米树,上面长满了Temmie薄片。一天,
Flowey来到Temmie村做客,Temmie们想要送给它一棵提米树。
    对于这棵提米树,满足这样的性质:
    1. 这棵树可以看做一棵n个点的无向无环图,每个点上长了
一定数量的Temmie薄片,薄片数量记为这个点的权值,这些点被
标记为1到n的整数,其中1号点是树的根,没有孩子的点是树上
的叶子。
    2. 对于这棵树进行深度优先搜索,每个点从左到右按顺序
遍历每个孩子,得到这棵树的DFS序。
    3. 定义(a,b)是一对相邻的叶子,当且仅当没有其它的叶子
节点在DFS序上在a,b之间。每对相邻的叶子都会产生一个代价,
代价为a到b路径上(不包含 a,b)的点中,最大点权值。
    4. 提米树可以提供决心,一棵提米树能提供的决心的数量
是树上所有叶子上长的Temmie薄片数量和,减去所有相邻叶子的
代价.
    Flowey虽然不是以Temmie薄片为食的生物,但是它需要决
心。这棵提米树能提供的决心太少了,Temmie们决定对这棵树进
行若干次剪枝(可以不剪枝),使得这棵树能提供的决心最多。
    一次剪枝定义为:如果一个点的孩子都是叶子,就可以把它
所有的孩子剪掉。

输入
    输入数据的第一行为一个正整数n,代表提米树上点的数量。
    接下来n行,对于每行:
    第一个数为一个正整数,代表这个点上Temmie薄片的数量
    第二个数为一个整数num,代表这个点孩子的数量
    接下来num个数,依次表示这个点从左到右的孩子。

输出
    输出包含一个数,为这棵树剪枝后最多能提供的决心的数量

赛时思路:

dfs+倍增求lca+暴力

赛时代码:




标程思路:

1.设dp[i]表示以dfs序中的第i个为叶子节点,能提供最多的决心。
2.显然绿色节点会由橙色节点转移而来。说具体的,就是dfs序上相邻的两个叶子节点x,y,y->lca路径上的点会由x->lca路径上的点转移而来。暴力转移是O(n^2)。
3.假设我们转移y->lca路径上的点时从上往下转移,那你发现x-Lca路径上的点的贡献变化是可以维护的,维护个前缀后缀,就行了。

标程代码:

没打,就不放了

下午

听讲评,改题

晚上

打博客

训练日志

文章导航

Previous Post: 中山纪念中学 Day 2
Next Post: GDNOJ – DAY 2

发表回复 取消回复

要发表评论,您必须先登录。

2025年 12月
一 二 三 四 五 六 日
1234567
891011121314
15161718192021
22232425262728
293031  
« 8月    

2024常州 Class Classic OI Problems Contest cqr的长乐集训2023 CZYZ LOC New Game NOI NOIP Password Protected PM_PK Preview Problems Retrospect Selfmade Qusetion STL The end Training Uneasy Problem 蒟蒻 通报

  • 训练日志
  • 链表
  • 入门
  • 模拟
  • dfs序
  • 并查集
  • spfa
  • 最小割
  • 矩阵树定理
  • 仙人掌
  • BSGS
  • 凸包
  • 回文自动机
  • 递推与动归
  • 堆
  • 莫队算法
  • ST表
  • Treap
  • 树套树
  • 可持久化线段树
  • 初赛
  • 搜索
  • 贪心
  • 深度优先搜索
  • 欧拉图
  • dijkstra
  • 费用流
  • 哈夫曼树
  • kruskual
  • 置换
  • 旋转卡壳
  • KMP
  • 区间动归
  • STL
  • 链表
  • 可并堆
  • sply
  • 主席树
  • 可持久化字典树
  • 算法
  • 动态规划
  • 构造
  • 广度优先搜索
  • 最短路
  • floyd
  • 最大流
  • 虚树
  • prim
  • 筛法
  • 半平面交
  • 字典树
  • 背包动归
  • 基础数据结构
  • 分块
  • 线段树
  • 替罪羊树
  • K-DTree
  • 图论
  • 二分法
  • 迭代搜索
  • 拓扑排序
  • 有上下界网络流
  • 生成树
  • 快速幂
  • 后缀数组
  • 树形动归
  • 哈希表
  • 中级数据结构
  • 平衡树
  • 可持久化数据结构
  • 数据结构
  • 三分法
  • 启发式搜索
  • 图的连通
  • 点分治
  • 博弈论
  • AC自动机
  • 状压动归
  • 单调栈
  • 树状数组
  • 高级数据结构
  • OI资料
  • 数学
  • 高精度
  • 差分约束
  • 树上倍增
  • 素数测试
  • 后缀自动机
  • 数位动归
  • 单调队列
  • 新闻
  • 几何
  • 随机化
  • 二分图染色
  • 树链剖分
  • 欧拉函数
  • manacher
  • 斜率优化
  • 离线处理
  • 信息学奥赛学长风采
  • 字符串
  • 二分图匹配
  • prufer编码
  • 卡特兰数
  • 密码学
  • 决策单调
  • 赛后总结
  • 其他
  • 2-SAT
  • 最近公共祖先
  • 矩阵乘法
  • 记忆化搜索
  • 网络流
  • Link cut tree
  • 排列组合
  • 树
  • 高斯消元
  • 乘法逆元
  • 容斥原理
  • 调和级数
  • 概率与期望
  • 模线性方程组
  • 莫比乌斯反演
  • 快速傅里叶变换
  • 扩展欧几里德
  • 最大公约数与最小公倍数

近期文章

  • 中山纪念中学 Day21
  • 中山集训8.15 LAST DAY+集训小结
  • GDNOJ – DAY 18
  • 中山8.14
  • 2025暑假中山集训Day20——8.14

近期评论

归档

  • 2025年8月
  • 2025年7月
  • 2025年2月
  • 2025年1月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月

Copyright © 2025 泉州一中信息学Blog.

Powered by PressBook WordPress theme