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

构造做题笔记

时间:2024-07-31 12:39:13浏览次数:8  
标签:.. 连向 构造 times 笔记 我们 sim 2k

UOJ460 新年的拯救计划

\(n\) 点完全图。选出尽量多生成树。输出方案。 \(n\le1000\)。

考虑上界,总共有 \(\frac{n(n-1)}{2}\) 条边,也就是最多可以分成 \(\frac{n}{2}\) 棵树。

尝试证明这个上界可以达到。我们考虑归纳法,假设 \(n = 2k\) 可行。

考虑 \(2k + 1\),我们可以将每棵生成树选一个不同的点连向 \(2k + 1\),考虑到只有 \(k\) 棵,显然是够的。

考虑 \(2k + 2\),由 \(1 \sim k\) 连向 \(2k + 1\),\(k + 1 \sim 2k\) 连向 \(2k + 2\),然后再加一棵生成树,由 \(1 \sim k\) 连向 \(2k + 2\) 和 \(k + 1 \sim 2k\) 连向 \(2k + 1\),同时连 \(2k + 1\) 和 \(2k + 2\)。

这是一个构造的方法。这题就完了。

CF1558C Bottom-Tier Reversals

首先观察性质:位置的奇偶性不会改变,所以如果一开始奇偶性就错了肯定不行。

接着我们需要确定一个大体思路,如何做排序?由于是对前缀操作,我们考虑倒着往前一步步还原。

所以我们现在先考虑如何把最后两个变成 \(n - 1, n\),观察最终的长度约束,如果我们能在 5 步内完成,那么这个问题就解决了。

第一步:找到 \(n\),使其变成第一个。

第二步:找到 \(n-1\),使 \(n\) 变成 \(n-1\) 前面的元素。

第三步:翻转使得 \(n-1\) 第二个,\(n\) 第三个。

第四步:翻转使得 \(n\) 第一个,\(n-1\) 第二个。

第五步:翻转使得 \(n\) 最后,\(n-1\) 倒数第二。

然后就顺利解决了这道题。

P6892 [ICPC2014 WF] Baggage

神仙构造。

首先看到这种题肯定是要手玩小数据并且猜下界,根据样例不难猜出下界是 \(n\)。

证明下界分两步,首先是证明不存在更小的,其次是构造一个。

我们先考虑证明不存在更小的,观察题目的性质发现,如果我们记相邻两个位置相同的个数为 \(\phi\),则我们从 \(0 \to 2n-1\),由于每次最多新增两个且第一次最多新增一个,所以至少 \(n\) 次。

根据这个,我们可以手玩出 \(n = 4\) 的情况:

\[..BABABABA\\ ABBABAB..A\\ ABBA..BBAA\\ A..ABBBBAA\\ AAAABBBB..\\ \]

进一步,我们尝试去归纳 \(n\) 更大的情况,我们发现可以这样做:

\[..BABA [(n-4) \times BA] BABA\\ ABBABA [(n-4) \times BA] B..A\\ ABBA.. [(n-4) \times BA] BBAA\\ ABBA[(n-4) \times A + (n-4)\times B]..BBAA\\ A..A[(n-4) \times A + (n-4)\times B]BBBBAA\\ AAAA[(n-4) \times A + (n-4)\times B]BBBB..\\ \]

刚好 \(n\) 次,但是这里要求存在使得只往前移两位的方法,所以 \(n-4 \ge 4\),意味着我们需要自己手玩 \(n = 3,4,5,6,7\) 的情况。

标签:..,连向,构造,times,笔记,我们,sim,2k
From: https://www.cnblogs.com/rlc202204/p/18334392

相关文章

  • 学习笔记 String类案例练习 1.模拟用户登录 2.统计字符串英文字母大小写及数字个数
    目录案例一模拟用户登录需求:代码: 案例二统计字符串英文字母大小写及数字个数需求:代码:案例一模拟用户登录需求:已知正确的用户名和密码,请用程序实现模拟用户登录。总共给三次机会,登录之后,给出相应的提示代码:publicstaticvoidmain(String[]args){......
  • 华南理工大学线性代数笔记整理5——特征值与特征向量
    本人华工21级电信本科生,目前大四,前段时间收拾书本时发现了自己保存完整的线代笔记和一些整理,应该会对大一新生的期末考试起作用,故作分享。注:大一时本人都是用手写A4纸的方式做笔记做复习,所以这里上传的都是一些纸质笔记的扫描件,尽量可以保证清晰。以分章节的方式,本章为第5章......
  • 华南理工大学线性代数笔记整理4——线性方程组
    本人华工21级电信本科生,目前大四,前段时间收拾书本时发现了自己保存完整的线代笔记和一些整理,应该会对大一新生的期末考试起作用,故作分享。注:大一时本人都是用手写A4纸的方式做笔记做复习,所以这里上传的都是一些纸质笔记的扫描件,尽量可以保证清晰。以分章节的方式,本章为第4章......
  • 海康ID2013扫码枪调试笔记
    1,将电脑IP设置为自动获取2,修改IP3,点击刷新,连接扫码枪 4,自动工作模式设置 5,图像配置 6,算法配置 7,输入输出 8,  ......
  • [vue3] Vue3源码阅读笔记 reactivity - collectionHandlers
    源码位置:https://github.com/vuejs/core/blob/main/packages/reactivity/src/collectionHandlers.ts这个文件主要用于处理Set、Map、WeakSet、WeakMap类型的拦截。拦截是为了什么?为什么要处理这些方法?Vue3实现响应式的思路是使用ProxyAPI在getter中收集依赖,在setter触发更新......
  • POSIX-shell学习笔记
    学习POSIXshell建议使用dash,因为它很快:https://unix.stackexchange.com/a/148098mandash:OnlyfeaturesdesignatedbyPOSIX,plusafewBerkeleyextensions,arebeingincorporatedintothisshell.条件判断mandash,然后搜索testexpression,可以看到完整的列表。ife......
  • [vue3] Vue3源码阅读笔记 reactivity - collectionHandlers
    源码位置:https://github.com/vuejs/core/blob/main/packages/reactivity/src/collectionHandlers.ts这个文件主要用于处理Set、Map、WeakSet、WeakMap类型的拦截。拦截是为了什么?为什么要处理这些方法?Vue3实现响应式的思路是使用ProxyAPI在getter中收集依赖,在setter触发更新......
  • 根据空域图信息构造飞机航线图以及飞行轨迹模拟matlab仿真
    目录1.程序功能描述2.测试软件版本以及运行结果展示3.核心程序4.本算法原理4.1航路网络建模4.2航线图构建4.3 飞行轨迹模拟的具体步骤5.完整程序1.程序功能描述    空域图是指航空领域中的一种图形表示方式,它涵盖了空中交通管理所需要的各种信息,比如航线......
  • 学习笔记第十四天
    1.迭代器        1.1打印数组voidprintArray(int*begin,int*end){while(begin<=end){printf("%d,",*begin);++begin;}printf("\b\n");}        1.2快速排序算法voidqSort(int*begin,int*end){if(b......
  • spring boot(学习笔记第十五课)
    springboot(学习笔记第十五课)Springboot的websocket(广播)学习内容:Springboot的websocket(广播)1.Springboot的websocket(广播)回顾下webserver的进化第一代Web程序,使用整体页面刷新技术,对整个页面进行刷新。缺点:明明不需要的页面部分,也要全部刷新,对于网络带......