首页 > 其他分享 >9.18CF1817题解

9.18CF1817题解

时间:2023-09-19 19:11:35浏览次数:45  
标签:题意 9.18 题解 texttt CF1817 fa Delta 序列

9.18CF1817题解

A. Almost Increasing Subsequence

题意

给定长度为 \(n\) 一个序列 \(a\) 以及 \(q\) 次询问,每次询问给出 \(l\) 和 \(r\),找出序列 \(a\) 在 \([l,r]\) 内最长的几乎递增子序列。

对于几乎递增的定义:如果一个序列中不存在连续的三个数 \(x\),\(y\),\(z\),使得 \(x \ge y \ge \ z\),则这个序列是几乎递增的。

题解

直接找出区间内 \(a_{i-1} \le a_i\le a_{i + 1}\) 个数,区间长度减去这个的个数。

因为连续3个只能选择两个。

前缀和记录一下就可以。

B. Fish Graph

题意

定义“鱼图”为满足以下条件的无向图:

  • 该图包含正好 \(1\) 个环,环上有 \(1\) 个特殊的结点 \(u\),\(u\) 除了连在环上的 \(2\) 条边外还有正好 \(2\) 条边,每一条边连向一个环外的结点(即,若环的大小为 \(s\),整个图一共有 \(s+2\) 个结点)。

现在给定一个简单无向图,问该图中是否有一个子图为“鱼图”。一个无向图的子图即为原图中删去若干个点和若干条边所形成的图。如果存在,还需要构造出其中任意一个满足要求的子图。

题解

找环小技巧:

枚举一个点 \(s\),bfs,记录 \(fa_i\) ,\(fa_i\) 里面全是 \(s\) 相邻的点,表示 \(i\) 被搜索到是从 \(fa_i\) 这个 \(s\) 的邻居搜到的。

若有边 \((u,v)\) 并且 \(fa_u \ne fa_v\) 那么就可以形成一个环。

所以枚举度 \(\ge 4\) 的点暴力找环就完了。

C. Similar Polynomials

题意

给定两个次数为 \(d\) 的多项式 \(A, B\) 在 \(0, 1, 2, \dots, d\) 处的点值对 \(10^9+7\) 取模,保证 \(B(x) \equiv A(x+s) \pmod {10^9+7}\)。求 \(s \bmod 10^9+7\)。

题解

多项式差分

定义差分运算 \(\Delta\) :

\[\Delta h_i = h_{i + 1} - h_i \]

定义 k 阶差分:

\[\Delta^k h_i = \Delta(\Delta^{k-1}h_{i})=\Delta^{k-1} h_{i + 1} - \Delta^{k-1} h_{i} \]

我们发现连续点值差分一次就会消掉一项,消到只剩两项就是 \(ax+b\),一项就是 \(-a\)。

然后两个多项式都求一次,就是已知 \(a,ax+b,a(x+s)+b\) 求 \(s\),这很简单。

D. Toy Machine

题意

有一个长 \(n\) 宽 \(2\) 的矩形游戏机。保证 \(n\) 是奇数。

游戏开始之前,有 \(n - 2\) 个玩具放在第一排中间的 \(n - 2\) 个位置中(两个角除外)。编号从左到右依次为 \(1\) 到 \(n - 2\)。第二行为空,其最左、最右和中心位置是障碍物。你可以控制玩具机向左、向右、向上、向下,分别用字母 \(\texttt L\)、\(\texttt R\)、\(\texttt U\) 和 \(\texttt D\) 表示。

操控时,所有玩具将同时沿相应方向移动,碰到另一个玩具、墙壁或障碍物停止。您的目标是将第 \(k\) 个玩具移动到第一行最左边。给定 \(n\) 和 \(k\),构造一个最多使用 \(1000000\) 次操作的方案。

题解

如果 \(k\) 在左边,直接 \(\texttt {LURD}\) 一直循环即可。

如果 \(k\) 在中间,直接 \(\texttt {DR}\)。

如果 \(k\) 在右边,比较难搞。

  • 我们先考虑 \(k = n - 2\),\(k\) 在最后的情况,直接循环 \(\texttt{LULD}\),最后形成如同图一的情况,直接 \(\texttt{RDL}\)。

  • 对于平凡的情况我们考虑通过循环 \(\texttt{RULD}\) 把这个点移动到最后位,然后通过上面的方法做。

图一
(图一)

E. Half-sum

题意

有一个非负整数序列 \(\{a_1,a_2,\dots,a_n\}\)。

你可以从序列中取任意两个数,并将它们的平均数放回序列。

序列最后会剩两个数,请求出这两个数的差的绝对值的最大值。

因为答案将会是一个小数,所以请输出答案对 \(10^9+7\) 取模的结果。

题解

最优情况应该是:

先排序,找一个断点,左边从右向左依次操作,右边从左向右依次操作。

左边就是 \(A\),右边就是 \(B\)。

如果直接找断点是 \(O(n^2)\) 的,我们考虑找前 \(32\) 个和后 \(32\) 个。

因为超过 \(32\) 的必定要除以 \(2^{32}\) ,数据范围 \(2^{31}\) ,除之后必定 \(<1\) 贡献太小了,不需要考虑。(这是感性理解)

标签:题意,9.18,题解,texttt,CF1817,fa,Delta,序列
From: https://www.cnblogs.com/hfjh/p/17715544.html

相关文章

  • 题解 AGC058B 【Adjacent Chmax】
    postedon2022-08-1500:08:56|under题解|sourceproblem一个长为\(n\)的排列\(P\),每次可以选择一个\(i\),令\(v=\max(P_i,P_{i+1})\),使\(P_i=P_{i+1}=v\),求若干次操作后有多少种不同的序列。\(1\leqn\leq5000\)。solution显然地,对于一个\(P_i\),它要么被完全覆盖......
  • 9.18日
    一 上午对昨天的icpc预选赛做了一下补题,但是还是不能理解,不会做,然后刷了一下睿抗caip的国赛,练了一下手速还有数据结构。二 下午上java,经过一道课堂测试,学会了java的stl,也学会了怎么设置倒计时。三 晚上打了一下cf竞赛,做出来了一道题,第二天补题吧再。......
  • AT_arc165_d 题解
    AT_arc165_d[ARC165D]SubstringComparison题解Links洛谷AtCoderDescription给定正整数\(n,m\)和\(m\)个形如\((A_{i},B_{i},C_{i},D_{i})\)的限制条件。判断是否存在一个长度为\(n\)的序列\(P\)满足\(\foralli\in[1,m]\),\(P_{A_{i}\dotsB_{i}}\)字典序......
  • AT_arc165_b 题解
    AT_arc165_b[ARC165B]SlidingWindowSort2题解Links洛谷AtCoderDescription给定正整数\(n,k\)和一个长度为\(n\)的整数\(P\),你需要选择一个长度为\(k\)的区间\([l,l+k-1]\),将这个区间从小到大排序。找到操作后最终字典序最大的排列。\(1\leqk\leqn\l......
  • 【Android】折叠效果CoordinatorLayout+AppBarLayout首页效果&& CoordinatorLayout抖
    亲测效果如下:布局结构<?xmlversion="1.0"encoding="utf-8"?><android.support.constraint.ConstraintLayoutxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto&qu......
  • 2023.9.18日报
    今日研究了通过sqoop把hive的数据导出到mysql,值得注意的是,我起初理解的是通过hive导出到windows的mysql,因此我研究了很久,之后查阅之后发现其实是通过navicat连接虚拟机的mysql,把hive的数据导出到mysql,通过navicat在windows上可视化具体的语句如下sqoopexport\--connectjd......
  • 9.18周一总结
    今天写了数据结构的函数题本题要求实现六个函数,顺序表为整型数据,可实现输入、输出、取值、查找、插入、删除功能。输入样例与输出样例对应情况见下图。函数接口定义顺序表描述的结构体为typedefstruct{ElemType*elem;//存储空间的基地址intlength;//当前长度......
  • 9.18日总结
    今天是每个中国人都应该铭记的日子,历史上的今天东北沦陷了,我们应该为抗战烈士们默哀,上午进行了传统制造实训,了解了手工制造机床、数控制造机床,了解了激光打印与激光雕刻,对传统制造实训有了新的认知,下午的Java课学了方法,对30道四则运算题进行了完善。......
  • 课堂测验(9.18)
    出30道二年级四则运算题目减法不能有负数,不能有重复题目,乘法结果小于四位数,除法是整除,能计时,能判断结果正确与否,能给出正确结果,正确率,错题数目首先一个记录时间的类packagehomework;publicclasstimeextendsThread{privateintseconds;//秒//计时方法@Overri......
  • 9.18r
    Pythonrequest_id传递除中间件的方式还可以采用本地线程实现;专业名词记忆得加强。描述符协议(get.set.delete魔术方法);Notimplemented。二元运算中可能会用到;MySQL大数据的优化。orm可能面临的一些弊端(映射。性能。独立性等方面不足。大数据量还是建议原生sql)分库分表(目......