Tr/ee AtCoder - 4433 (构造)】的更多相关文章

大意: 给定长$n$的字符串$s$, 要求构造一棵树, 满足若第$i$个字符为$1$, 那么可以删一条边, 得到一个大小为$i$的连通块. 若为$0$则表示不存在一条边删去后得到大小为$i$的连通块. 先特判掉显然不成立的情况, 然后构造一个毛毛虫即可 #include <iostream> #include <sstream> #include <algorithm> #include <cstdio> #include <cmath> #in…
Tr/ee 思路:按照下图所示连接 代码: #pragma GCC optimize(2) #pragma GCC optimize(3) #pragma GCC optimize(4) #include<bits/stdc++.h> using namespace std; #define fi first #define se second #define pi acos(-1.0) #define LL long long //#define mp make_pair #define p…
大意: 给定平面上$n$个点$(x_i,y_i)$. 要求构造一个序列$d$, $d_i$表示每步走的距离, 再构造$n$个命令串, 要求从原点出发按照第$i$个命令走, 走完恰好到达$(x_i,y_i)$. 构造完全没思路, 看了题解才懂 首先若存在两个点的$x+y$的奇偶性不同, 那么显然无解. 其余情况假设$x+y$为奇数, 那么构造$d=1,2,4,8,16,...$, 然后命令可以贪心构造出来. 若$x+y$为偶数, $d$中添加一个$1$, 变为奇数的情况即可. #include <…
前言 现在全球最大的编程比赛记分网站非CodeForces和AtCoder莫属了,@ezoixx130大佬已经在去年介绍过CodeForces了(传送门),那么现在我们主要谈一下AtCoder. 简介 AtCoder是日本最大的算法竞技网站,正式创立于2012年6月20日,由AtCoder Inc.运行并维护,其域名为https://atcoder.jp/.提供编程在线比赛.过往比赛提交.在线评测等服务. 使用 首页 1.顶部菜单栏功能: 名称 功能 Logo图标及Home 返回首页 Conte…
C - //// 为了防止一些多余的判断,我选择直接记录每个数的个数,然后枚举第一个数,找第一个数之外第二个数改变最少的情况下应该选什么 代码 #include <bits/stdc++.h> #define fi first #define se second #define pii pair<int,int> #define mp make_pair #define pb push_back #define enter putchar('\n') #define space p…
目录 ARC 103 A.//// B.Robot Arms C.Tr/ee D.Distance Sums ARC 103 窝是传送门QwQ A.//// 题意 : 给你\(n\)(\(n\)为偶数)个数 一次操作你可以修改任意一个数 问最少修改几次使得其满足以下条件 \(a_i=a_{i+2}\) \(a_1!=a_2\) 数据约束: \(2 \leq n \leq 10^5\) , \(1 \leq a_i \leq 10^5\) 题解: 对于下标为奇数的记下每个数出现的个数 在满足和偶数…
传送门 C - /\/\/\/ 题意: 给出一个序列\(\{a_i\}\),先要求其满足以下条件: \(a_i=a_{i+2}\) 共有两个不同的数 你现在可以修改任意个数,现问最少修改个数为多少. 思路: 很明显奇偶分类. 记录奇数位置.偶数位置的最大值和最大出现次数的情况: 因为要求两个数不相同,所以还要维护次大. 注意以下细节就是了. Code #include <bits/stdc++.h> using namespace std; typedef long long ll; cons…
功能介绍: 1.处理了动态行与表单的设值问题 2.添加了行的向上或向下排序 3.添加了可以在当前行的下边或上边增加新行的功能 4.添加了可以单选或勾选多项删除不需要的行的功能 5.添加了新增的行的高亮(以new红标记标注)的功能 6.实现了可以不依靠样式表(即:即使不要<style></style>部分,功能不会一点) 7.实现了方便后端的接收的数据形式(通过一个动态的长度设置,后端获取这个动态长度并且从1开始循环即可接收相关数据) 8.实现了方便后端进行编辑时的界面(即添加与编辑…
标准I / O和管道:     ps aux进程管理命令(和win任务管理器一样);     当前命令行输出窗口,键盘的输入即是标准输入.标准输出就是执行了的命令,无法执行的命令或错误信息是标准错误,可修改.都来自终端窗口 I / O重定向:即是改变系统默认的设备编号或位置(0,1,2)如:火车轨道的扳动.     标准输出:>覆盖; >>追加;依赖于shell,bash中是可以创建新文件的.     删除大文件:> bigfile用的就是重定向.set     -C禁止将内容覆盖…
一.ArrayList 1.存储结构 动态数组elementData transient Object[] elementData; 除此之外还有一些数据 //默认初始容量 private static final int DEFAULT_CAPACITY = 10; //共享空数组 private static final Object[] EMPTY_ELEMENTDATA = {}; //默认初始空数组 private static final Object[] DEFAULTCAPACI…