首页 > 其他分享 >做题笔记 IIII

做题笔记 IIII

时间:2024-03-20 15:57:03浏览次数:19  
标签:blue le color sum 笔记 IIII

发现做题笔记屡次停更的根本原因是做的无聊题太多,不想更笔记,拖的时间长了笔记就更新不过来了。

从这篇笔记开始只记录精彩巧妙的题。


\(1 \sim 25\)

\(\color{blue}(1)\) CF1270G Subset with Zero Sum

\(^*2700\);构造;图论;基环树

给定长度为 \(n \; (1 \le n \le 10^6)\) 的序列 \(a_1,a_2,\ldots,a_n \color{blue} \; (i - n \le a_i \le i - 1)\),找出一个子集使得其和为 \(0\)。

神题。

考虑化简不等式得到 \(1 \le i - a_i \le n\),如果把 \(i\) 向 \(to_i = i - a_i\) 连边可以得到一棵内向基环森林

注意到环上的点满足 \(\sum i = \sum to_i\),也即 \(\sum i = \sum i - a_i\),去掉 \(\sum i\) 后得到 \(\sum a_i = 0\),满足题目要求。时间复杂度线性。

标签:blue,le,color,sum,笔记,IIII
From: https://www.cnblogs.com/sunkuangzheng/p/18085410

相关文章

  • spring boot企业级开发教程学习笔记——第二章
    记录笔记。给亲友看的笔记,干劲十足(希望她看得懂,因为我不会教人)一.重要前提再次强调:springboot是为了优化spring的冗重的xml文件配置,spring的注解会更加丰富,但是springboot的思想还是跟着spring走。spring的重要思想是:说到容器,就必须要讲到一个东西Bean,按......
  • 软考备考复习笔记day2(校验码crc和海明码检错纠错)
    奇偶校验奇偶校验(ParityCodes)是通过在编码中增加一位校验位来使编码中1的个数为奇数(奇校验)或者为偶数(偶校验)。但该编码只能检错,但不能纠错。奇偶校验:码距为2。码距越大越容易纠错和检错仅检测出代码中奇数位数(奇数个0或1发生错误),不能发现偶数位数出错。奇数+偶数=奇数......
  • 深入理解Java虚拟机读书笔记
    1.双亲委派模型的兼容性优化    双亲委派模型在jdk1.2才开始,在以前是通过覆盖loadClass()方法来自定义类加载器,但是不做兼容,由于多态性,那么实际上加载时是直接用ClassLoader子类的loadClass()方法,ClassLoader的loadClass()方法不会被调用,所以为了兼容,添加了findClass(),这样自定义的类......
  • 江科大STM32学习笔记(上)
    @目录前言外设篇GPIO输出GPIO位结构GPIO模式外设的GPIO配置查看实战1:如何进行基本的GPIO输入输出OLED显示屏及调试Keil的调试模式演示EXTI外部中断NVIC基本结构EXTI结构代码实战2:如何使用中断和对射式红外传感器&旋转编码器TIM(Timer)定时器1.1基本定时器(TIM6和TIM7)1.1_1_时基单元......
  • python自动化——selenium——教程截图笔记复习
      需要现在和浏览器对应的驱动:               123 123......
  • 通信笔记
    通信笔记通信系统信源编码提高信息传输的有效性,降低数据冗余,具体反映到码元速率的传输带宽上。完成模数转换实现数字通信。信道编码在数字序列中引入冗余,以便克服信号在信道中传输时遭受的噪声和干扰的影响。增加冗余是为了提高信息传输的可靠性的。信道衰落大尺度衰落......
  • wasm 学习笔记,写个求和demo
    最近由于工作内容需要,正好学习了一下wasm(WebAssembly的缩写)。下面通过一个例子说明如何使用:c++写的方法打包成wasm文件后,js如何调用里面方法:要将C++写好的方法打包成wasm文件,并在JavaScript中调用其中的方法,可以按照以下步骤进行:首先,使用Emscripten工具链将C++代......
  • 第 6 章 ROS-URDF练习(自学二刷笔记)
    重要参考:课程链接:https://www.bilibili.com/video/BV1Ci4y1L7ZZ讲义链接:Introduction·Autolabor-ROS机器人入门课程《ROS理论与实践》零基础教程6.3.4URDF练习需求描述:创建一个四轮圆柱状机器人模型,机器人参数如下,底盘为圆柱状,半径10cm,高8cm,四轮由两个驱动轮和......
  • vue3学习笔记
    1.创建一个vue3项目1.创建vueclinpminstall-g@vue/cli2.创建项目npmcreate<项目名称>开始敲代码啦!!!1.引用组件只需要import就可以了,因为使用了setup之后引用了就会被自动成为子组件了。2.声明数据ref用于声明基本数据类型reactive 用于声明对......
  • 数据库实验课学习笔记2
    约束类型  1.主键约束    语法: 字段  数据类型  primarykey      2.外键约束   语法: foreignkey (字段) references 引用的表(引用的字段)   3.检查约束    语法: 字段  数据类型check(约束内容)  4.默认......