首页 > TAG信息列表 > Sonya
【题解】【CF1004F Sonya and Bitwise OR】
Analysis 显然用线段树来维护。考虑快速求出左右端点分居左右区间的方案数。 首先按位或和是满足单调性的,按位或的数越多,和越大,那么从左到右枚举右端点,左端点的可行范围一定是从左区间的左端点到左区间的某个位置,且这个位置是递增的。 那么我们就有了单次pushup复杂度为O(区间长度[CF1004F] Sonya and Bitwise OR
\(\text{Problem}:\)Sonya and Bitwise OR \(\text{Solution}:\) 分析一下 OR 的性质。对于左端点 \(l\) 固定的区间,其前缀至多只会有 \(\lceil \log_{2}V\rceil\) 个不同的取值,且每种取值都是连续的。当右端点固定时也是同理。 那么对于每个区间 \([l,r]\),维护其前缀与后缀每种不C. Sonya and Problem Wihtout a Legend 题解(dp)
题目链接 题目思路 如果只考虑非严格单调上升,那么必定所有元素变化完之后必定还是属于原来元素的子集 可以仔细思考下得出 而如果是单调上升,可以让\(a[i]=a[i]-i\) 然后\(dp\)即可 设\(dp[i][j]\)表示第\(i\)个元素为\(b[j]\)的最小答案 代码 #include<bits/stdc++.h> #define fi1004F.Sonya and Bitwise OR(毒瘤线段树+分治思想)
性质: 对一个序列的或前缀和是单调不降的,每次变化至少增加一个二进制位 同时一段区间内发生变化的位置数量<=20(log值域) 那么就可以对线段树上的每个节点维护这样的一组信息: 区间内前缀或发生变化的位置以及它在区间内的前缀或 区间内后缀或发生变化的位置以及它在区间内的后缀或 一Making the grade 和Sonya and Problem Wihtout a Legend
不严格递增 给出一个长度为 n 的序列,可以给任意数增加或减去任意数,要求使序列变为非递减序列(不严格上升),ai数值的大小不超过1e9,问花费的最少代价是多少 首先要找到循环的条件i和j,这个题有长度,还有数值大小。所以应该是长度为前 i 个数构成的序列,且最大值为 j 的花费d[i][j][CF713C] Sonya and Problem Wihtout a Legend - dp
[CF713C] Sonya and Problem Wihtout a Legend - dp Description 给定一个数组,每次操作可以把任意一个元素 +1 或者 -1。求使得递增的最小操作次数。 n<=3000 Solution 首先通过 ai=ai-i,转化为单调不降 最终的序列中,一定由若干连续相同的段构成,并且不会出现原序列未出现的数 考虑codeforces 1004 D. Sonya and Matrix 构造
原题地址:D. Sonya and Matrix 题目大意 称一个\(n*m\)的矩阵,里面恰好只有一个\(0\),且其他所有位置上的值恰好等于此位置到\(0\)点曼哈顿距离的矩阵为菱形矩阵.现在给出一个无序的长度为\(t\)的数组,构造一个菱形矩阵,所有元素恰好使用一次,或输出无解. 思路 这个构造一上手都没CF1004E Sonya and Ice Cream 树的直径
链接 题意: 在树上选一条点个数小于等于k的简单路径,使路径外的点到路径的距离的最大值最小。 求出最小的最大值 题解: 可以反证得出 这条简单路径一定在树的直径上 树的直径的两个端点可以很简单的用两边dfs求出 那要如何求出这条链的信息呢 ? 可以在一个端点设置标记 如何利用cf 1004 C Sonya and Robots
cf 1004 C Sonya and Robots 题意 给你n个数字\(a_i\) ,在数字的左边和右边各有一个机器人,分别给左边和右边的机器人一个数字\(a_i\), \(a_j\),左边的机器人往右走,右边的机器人往左走,左边的机器人遇到\(a_i\)就停,右边的机器人遇到\(a_j\)就停,问使得两个机器人不相遇的对数有多少对?@codechef - SONATR@ Sonya and Tree
目录 @description@ @solution@ @accepted code@ @details@ @description@ 给定 p 为 0~N-1 的一个排列,并给定一棵 N 个点的树。 我们称一个包含 L 个结点的路径是“漂亮”的,当且仅当对于 0 ≤ i ≤ L-1,路径都存在 v 使得 p[v] = i,一棵树的“漂亮程度”被定义为其包含的“Codeforce 714A
A. Meeting of Old Friends time limit per test:1 second memory limit per test:256 megabytes input:standard input output:standard output Today an outstanding event is going to happen in the forest — hedgehog Filya will come to his old friend Sony