首页 > 其他分享 >构造题做题记录

构造题做题记录

时间:2024-07-15 10:30:46浏览次数:8  
标签:frac 记录 黑点 白点 构造 times 做题 对角线

更新中。

加训构造。/fendou

CF1917E

发现我们如果把一个 \(2\times2\) 的矩阵填满 \(1\),不会有影响。

当 \(k\) 为 \(4\) 的倍数,直接填就可以了。

当 \(k\) 为奇数显然无解,因为你无法让每行奇偶性相同。

当 \(k\) 除 \(4\) 余 \(2\),如果 \(k\) 为 \(2\) 或 \(n\times n-2\) 时无解。

不然的话,我们可以在一个 \(4\times4\) 的矩形里把 \((1,1)\),\((1,2)\),\((2,1)\),\((2,3)\),\((3,2)\),\((3,3)\) 填 \(1\),剩下直接填。

注意到 \(k=n\times n-6\) 时这时爆的。我们可以在 \(4\times4\) 的矩形里多填 \((1,3)\),\((1,4)\),\((4,3)\),\((4,4)\)。

ATarc122e

题意其实就是每位填的数要保证 \(\gcd(\text{lcm}_{j<i}(x_j),x_i) \ne x_i\)。

考虑从后往前填数,每次只要把任意满足条件的填入即可。

注意到 \(\gcd(\text{lcm}_{j<i}(x_j),x_i)\) 其实相当于 \(\text{lcm}_{j<i}(\gcd(x_j,x_i))\),然后就可以直接枚举做了。

CF1667C

假如我们放 \(k\) 个后,假设放在左上角,使得右下只有 \((n-k)\times(n-k)\) 个格子没被覆盖,我们要用对角线去覆盖它们。

\((n-k)\times(n-k)\) 个格子有 \(2\times(n-k)-1\) 条对角线,所以 \(k \ge 2\times(n-k)-1\),即 \(k \ge \lfloor \frac{2n+1}{3} \rfloor\)。

当 \(k=\lfloor \frac{2n+1}{3} \rfloor\),我们可以考虑先在 \((1,1)\) 放一个后,然后横坐标 \(+1\),纵坐标 \(+2\),再放一个后,不停地放,直到出右上角的 \(k\times k\) 的矩形为止。然后我们再横坐标 \(+1\),纵坐标为 \(2\) 的点开始用同样的方式放。

为什么这是对的?我们不妨给对角线标号,令 \((k+1,k+1)\) 所在的对角线为 \(0\),它左边的对角线分别为 \(-1,-2\dots\),右边的对角线分别为 \(1,2\dots\),我们第一个在 \((1,1)\) 的后覆盖了对角线 \(0\),后面每次的后覆盖了上一条 \(-1\) 的对角线。而在 \((\lfloor \frac{k}{2} \rfloor+1,2)\) 的点覆盖了对角线 \(n-k-1\),后面每条覆盖了上一条 \(-1\) 的对角线。

AThitachi2020c

首先,只有当两个数模 \(3\) 都为 \(1\) 或都为 \(2\) 时才可能不合法。

我们将这棵树黑白染色,两个点相距为 \(3\) 必定一个为黑点一个为白点。

当黑点和白点数量都大于 \(\lceil \frac{n}{3} \rceil\),我们可以模 \(3\) 余 \(1\) 全填黑点,模 \(3\) 余 \(2\) 全填白点,剩下随便填。

当黑点和白点数量中有一个小于 \(\lceil \frac{n}{3} \rceil\),不妨假设时黑点。我们可以把黑点用模 \(3\) 余 \(1\) 的数填满,剩下全填白点。

CF297C

有一个比较牛的构造。

考虑将序列 \(s\) 排序后平均分为 \(3\) 段。

  • 对于第 \(1\) 段,构造 \(a_i=i\),\(b_i=s_i-a_i\)。

  • 对于第 \(2\) 段,构造 \(b_i=i\),\(a_i=s_i-b_i\)。

  • 对于第 \(3\) 段,构造 \(b_i=n-i\),\(a_i=s_i-b_i\)。

解释一下为什么这是对的。

对于 \(b\),显然第 \(2\) 段和第 \(3\) 段的是两两不同的,符合要求。

对于 \(a\),第 \(1\) 段和第 \(3\) 段内部一定是单调递增的,而第 \(3\) 段所有数一定大于第 \(1\) 段,所以两两不同,符合要求。

CF1028E

有一个简单的想法是构造一个序列满足 \(a_i<a_{i+1}\) 且 \(a_{i+1}-a_i=b_i\)。容易想到构造 \(a_i=\sum_{j=i}^{n}b_i\)。

但如果存在 \(a_{i+1}|a_i\) 是会爆。所以我们可以把 \(b\) 中的最大值移到 \(b_n\) 的位置,同时要满足 \(b_{n-1}\neq b_n\),这样就能保证不存在整除关系。

如果 \(b_1=b_2=...=b_{n-1}=0\) 是会爆,因为 \(b_n \mod b_1=0\)。所以我们让 \(a_i=(\sum_{j=i}^{n}b_i)+b_n\),\(a_n=b_n\) 就行了。

但当所有 \(b\) 相等时不存在一个这么一个最大值。可以证明,只有 \(b_1=b_2=...=b_n=0\) 时才有解。

如果 \(b_1=b_2=...=b_n=x\)(\(x\) 不为 \(0\)),一定存在 \(a_i<a_{i+1}\),即 \(a_i=x\),那所以 \(a_j\) 必为 \(x\) 的倍数,则必有 \(a_i \mod a_{i+1}=0\),所以不成立。

标签:frac,记录,黑点,白点,构造,times,做题,对角线
From: https://www.cnblogs.com/ethan0328/p/18302628

相关文章

  • Latex学习记录
    目录Latex安装下载检查卸载TexStudio安装下载Latex安装下载标记说明:官网:TeXLive-TeXUsersGroup等待安装完成:检查输入latex-v出现Latex版本号等相关信息即为安装成功卸载找到例如J:\LATEX\texlive\2024\tlpkg\installer目录运行程序即可若担心......
  • 24.07 做题记录
    24.7降维技巧约定diff=1水题黄以下一眼切diff=2easy下位绿及黄能切diff=3medium特殊的黄;绿;较简单的蓝可能需要题解提供一步diff=4hard蓝色+需要题解diff=5不可做题紫色+做不了前缀和/差分P1115最大子段和diff:1前缀和板子。codeP3406海底高铁......
  • BUUCTF Crypto 做题记录
    目录:1.一眼就解密2.Url编码3.MD54.看我回旋踢5.摩丝6.password#1.一眼就解密https://buuoj.cn/challenges#一眼就解密ZmxhZ3tUSEVfRkxBR19PRl9USElTX1NUUklOR30=确实一眼看出是Base64,拿去解密即可2.Url编码https://buuoj.cn/challenges#Url编码直接网上搜urlenco......
  • 构造与操作链栈
    归纳编程学习的感悟,记录奋斗路上的点滴,希望能帮到一样刻苦的你!如有不足欢迎指正!共同学习交流!......
  • 2024/7/13 ABC362 比赛记录
    7/14:昨晚打的abc,外面下着大雨;1650ptsrank975T1:简单签到题,愣是被我拖了7min死因:开赛时老师开始收手机,一直叫我名,我一着急装了两个翻译插件,导致页面错版。时间宝贵,于是我艰难的对照样例勉强读懂题(T2:计算几何?给平面直角坐标系3点,判rt三角形。直接double勾股定理算边......
  • 记录些Redis题集(2)
    Redis的多路IO复用多路I/O复用是一种同时监听多个文件描述符(如Socket)的状态变化,并能在某个文件描述符就绪时执行相应操作的技术。在Redis中,多路I/O复用技术主要用于处理客户端的连接请求和读写操作,以实现高并发、高性能的服务。Redis支持多种多路I/O复用机制,包括select、poll......
  • 记录些Redis题集(4)
    Redis通讯协议(RESP)Redis通讯协议(RedisSerializationProtocol,RESP)是Redis服务端与客户端之间进行通信的协议。它是一种二进制安全的文本协议,设计简洁且易于实现。RESP主要用于支持客户端和服务器之间的请求响应交互。RESP的主要特点:简单性:协议的设计非常简单,易于理......
  • 记录些Redis题集(1)
    Redis内存淘汰触发条件的相关配置如下:Redis通过配置项maxmemory来设定其允许使用的最大内存容量。当Redis实际占用的内存达到这一阈值时,将触发内存淘汰机制,开始删除部分数据以释放内存空间,防止服务因内存溢出而异常。Redis内存淘汰策略可在配置文件redis.conf中通过maxmemory......
  • 记录些Java题集(1)
    接口防刷机制接口被刷指的是同一接口被频繁调用,可能是由于以下原因导致:恶意攻击:攻击者利用自动化脚本或工具对接口进行大量请求,以消耗系统资源、拖慢系统响应速度或达到其他恶意目的。误操作或程序错误:某些情况下,程序错误或误操作可能导致接口被重复调用,例如循环调用或者定时......
  • 对象的生存期 内存 深度拷贝 拷贝构造函数 笔记
    栈上的东西如何存在?栈是类似一种数据结构,像摞在桌子上的一堆书,要看中间的书需要把上面的书拿走作用域:形象成一本书,书内声明的变量作用域结束,要把这本书从书堆中拿出来作用域指针是什么:基本是个类是一个指针的包装器,在构造时用堆分配指针析构时删除指针,可以实现自动化new......