一、内容题意:给定一个以1为根节点的树, 有2个操作,get V 代表得到v 和v的子树中所有开着灯的房间数,pow V代表把V和 V的子树们状态转换一下,开着的灯关上,关着的灯开起。二、思路dfs序将树转化为线性结构。用一个flag标记维护转变的状态,一个区间转变2次就等于没转变,所以每次flag ^= 1。sum保存区间上面1的个数,若果遇到转化,就将区间长度减去sum里面的值。...
A统计2个1中间0的个数#include <cstdio>#include <cstring>using namespace std;const int N = 105;int t, n;char s[N]; int main() { scanf("%d", &t); while (t--) { scanf("%s", s + 1);...
一、内容 题意:给定n,k,n代表字符的长度,k代表截取的长度, 在一个无限长的字符串RGBRGBRGBRGBRGB…中,问在给定的字符串中截取长度k的字符串,最少修改几个字符后是无限序列中的一段。 二、思路 由于字符变换最多是R开头 RGBRGB…, G开头GBRGBR…,B开头BRGBRG… 所以枚举这3种情况来进行字符的匹配。 dp[i]记录i位置是否需要修改,需要修改就是1,不需要就是...
一、 内容The Child and Sequence二、思路区间取模 + 单点修改 + 区间求和和区间开方一样,由于每个点取模次数不大,故用一个数组max记录区间中的最大值,若最大值小于要mod的数,就跳过这个区间,否则就一直延伸至单点取余。三、代码import java.io.BufferedReader;import java.io.IOException;import...
一、内容 题意:给定一个区间和2个整数x,y, 在这段区间找一个下标d,使得 【d-x,d - 1】 和 【d + 1, d + y】 这区间里面的数都小于d下标的数。 二、代码 #include <cstdio> #include <cstring> using namespace std; const int maxn = 1e5 + 5; int n, x, y, ...
一、内容 题意:给定一段区间,查询区间的gcd值是否是给出的,若是输出YES,不是输出NO,可以假定修改某一个值,并不是真正的修改序列中的这个值,而是在计算的时候认为是修改了。 二、思路 由于最多能改变一个数,所以我们先用线段树维护区间的gcd。然后在查询的时候,查询有多少值不能被给出的x整除, 若查询出的结果 <= 1代表 这多出来的1个可以修改,然后输出YES ,否则输出NO 因为一段...
一、内容 题意: 给定p,q,r , 在一组序列中选出pi,pj,pk (i <= j <= k)使得 p * pi + q * pj + r * pk的值最大 二、思路 1 用线段树维护区间最大最小值,然后枚举一下那个值会获取最大值即可。 2 dp做法。 dp[0][i] 表示当前的数选到了i已经用了p的最大值。 dp[1][i] 表示当前的数选到了i位置,已经选了q的最大值。 j...
一、内容 题意:给定一组序列,给定一个K,在k以内的操作,每次操作可以让一个数+1,求最大的中位数。 二、思路 O(n)扫描数组,遇到比它大的就判断一下是否能够加到相同,不能加到相同就加最多能加的数。 用一个same变量记录有多少个与它相同的数。 三、代码 #include <cstdio> #include <algorithm> using namespace st...
一、内容 One unknown hacker wants to get the admin's password of AtForces testing system, to get problems from the next contest. To achieve that, he sneaked into the administrator's office and stole a pi...
一、内容二、思路三、代码#include <cstdio>#include <algorithm>#include <iostream>using namespace std;int n, a[3];int main() { scanf("%d", &n); for (int i = 1; i <= n; i++) { sc...
一、内容An integer sequence is called beautiful if the difference between any two consecutive numbers is equal to 1. More formally, a sequence s1,s2,…,sn is beautiful if |si−si+1|=1 for all 1≤i≤n−1Trans ...
一、内容A PIN code is a string that consists of exactly 4digits. Examples of possible PIN codes: 7013, 0000 and 0990. Please note that the PIN code can begin with any digit, even with 0.Polycarp has n(...
一、 内容On the well-known testing system MathForces, a draw of n rating units is arranged. The rating will be distributed according to the following algorithm: if k participants take part in this event,...
一、内容You are given an array a consisting of n integers. In one move, you can jump from the position i to the position i−ai (if 1≤i−ai) or to the position i+ai (if i+ai≤n).For each position i from 1 to...
一、内容The development of a text editor is a hard problem. You need to implement an extra module for brackets coloring in text.Your editor consists of a line with infinite length and cursor, which point...
一、内容题意:凑出每行每列的元素都不相同的最大矩阵(元素最多)。二、思路由于每行不能一样,所以我们选取i行,那么最多可以选取i个相同的值。 列可以随意增加,行需要限制一下。三、代码#include <cstdio>#include <algorithm>using namespace std;const int N = 4e5 + 5;struct n...
一、内容There are n cities in Berland and some pairs of them are connected by two-way roads. It is guaranteed that you can pass from any city to any other, moving along the roads. Cities are numerated fr...
一、内容 题意:给定几个01二进制字符串,问你可以翻转任意的字符串,让所有的字符串能够拼接起来,且所有的串都是惟一的(不重复)。 二、思路
一、内容 题意:将所有的偶数都变成奇数,问最少需要多少步。每次选定一个偶数,然后所有相同的数都除2. 二、思路 如果当前的数不是偶数,就用map记录当前偶数,如果已经访问过就不用再除2了,如果没有访问过那么就一直除2。 三、代码 #include <cstdio> #include <unordered_map> #include <algorithm> u...
一、内容 题意:问最多替换一对字符后是否能够严格小于另一个串(相等不算作严格小于) 二、思路 当a作为c的前缀的时候,a比c小。 我们只需要对a进行排序,然后找到与b(排序后的串)第一个不相等字符处,然后将a串这个位置换成b串的这个位置的字符。 由于要变成最小的串,所以我们应该从a串的末尾进行查找,这样替换的串更小。 三、代码 #include <cstdio> #include ...
一、内容 We start with a string s consisting only of the digits 1, 2, or 3. The length of s is denoted by |s|. For each i from 1 to |s|, the i-th character of s is denoted by siThere is one cursor. The cu...
一、内容 题意:问1-n中有多少个数是全部相同的数字组成的。如111,222,333,1,2,3,4。。。 二、思路 每次将n除以相同的基数 和 9进行比较。 三、代码 #include <cstdio> #include <algorithm> using namespace std; typedef long long ll; int t, n, ans; int ...
一、内容 题意:给定2 * k个点,问选择k对点(每个点都必须选上)进行相连,求出所有路径之和。求出路径之和的最大值和最小值。 二、思路 最大化路径之和: 首先我们任选2个组件记性相连,如图 当我们选择左边的任意2个点相连和右边任意2个相连,如(1,3) (4, 6)。那么可以转化为左边组件和右边组件进行相连。(1,4)(3,6)或者(1,6)(3,4)那么这样相连后, 我们在保存了以前...
一、内容 Let's call a positive integer composite if it has at least one divisor other than 1and itself. For example: the following numbers are composite: 1024, 4, 6, 9;the following numbers are not compo...
一、内容 You are given a positive integer m and two integer sequence: a=[a1,a2,…,an] and b=[b1,b2,…,bn]. Both of these sequence have a length nPermutation is a sequence of ndifferent positive integers fro...
一、内容 There are n railway stations in Berland. They are connected to each other by n−1railway sections. The railway network is connected, i.e. can be represented as an undirected tree.You have a map of...
一、内容 Gildong owns a bulgogi restaurant. The restaurant has a lot of customers, so many of them like to make a reservation before visiting it.
A只要a[i]和b[i]其中有一个与c[i]相等,那么可以直接用c[i]替换另外一个。 若都不相等无法替换。(必须替换n次)#include <cstdio>#include <cstring>using namespace std;const int N = 105;int n;char a[N], b[N], c[N];bool ok() { int len = s
一、内容 The logo of Nanos...
一、内容
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号