自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 一起开心寒假训练总复习

文章目录畅通工程题意:题解:代码:小希的迷宫题解:代码:Express Mail Taking题意:题解:代码:Reports题意:题解:代码:放苹果题意:题解:代码:Monthly Expense题意:题解:代码:String Typing题意:题解:代码:Diagonal Walking题意:题解:代码:畅通工程题意:最少建多少道路使得两两城镇之间都能连通题解:利用并查集题意很清楚,我们来分析下例子:第一行告诉你,一共有4个点,2条路。下面两行告诉你,1、3之间有条路,4、3之间有条路。那么

2021-02-26 16:39:55 141

原创 Three Bags CodeForces - 1467C

题意:三堆石子,你可以取两堆石子各一个石头a,b。然后消掉a,使得b=b-a再放入b的那一堆。这样操作直到只剩下一个石子,求该石子价值最大。题解:构造题可以构造出两者情况:其中两堆都是正的,一堆都是负的一个背包都是正的,另两个背包的最小值是负的,其他都是正的为什么是这样构造出来的呢?参考题解对于一个数如果进行奇数次操作,那么就是负贡献,偶数次操作就是正贡献假设最后一个数在数组a,那么a中剩下n-1个数,可以在最后先与其他数组合并,再和最后一个数合并,这样就都是正贡献。同理应用到b和c数

2021-02-25 18:04:51 162

原创 Hills And Valleys CodeForces - 1467B

Hills And Valleys CodeForces - 1467B题意:修改数列中的 一个 数字 使得峰(波峰、波谷)的数量最少题解:修改一个数,最多只能影响左右两个数,所能减少的峰的数量为1,2,3三种分类讨论,对于当前位置i,如果我们将a[i]变成比左右两边都小的情况,比左右两边都大的情况,位于两者中间的情况,等于左边的情况,等于右边的情况,以上所有情况均取最大的到temp然后用总数量减去temp代码:#include <bits/stdc++.h>using nam

2021-02-25 17:54:04 135

原创 Wizard of Orz CodeForces - 1467A

Wizard of Orz CodeForces - 1467A题意:有个长度为n初始状态下各元素均为0的数组,没过一秒数组中所有元素都会+1,如果是9则会变成0,即0-9不断循环。现在你能够在开始后的任意时间点选取任意一个位置,改位置上的数字立刻停止增加,与其距离为x的位置上的元素则在x秒后暂停(这x秒内还是数字会继续增加)。给定你长度n,求出由n个元素构成的最大数字(包含前导零)题解:规律题,通过找规律不难发现前三位是989,从第四位开始就是0~9的循环代码:#include<bits

2021-02-25 17:47:19 171

原创 Codeforces Round #695(Div. 2)

Codeforces Round #695 (Div. 2)1467A Wizard of Orz1467B Hills And Valleys1467C Three Bags1467D Sum of Paths1467E Distinctive Roots in a Tree1468A LaISCodeforces Round #696 (Div. 2)1474A Puzzle From the Future1474B Different Divisors1474C Array De

2021-02-25 17:44:36 172

原创 P3128 [USACO15DEC]Max Flow P

P3128 [USACO15DEC]Max Flow P树上差分之点差分模板题题目描述:FJ给他的牛棚的N(2≤N≤50,000)个隔间之间安装了N-1根管道,隔间编号从1到N。所有隔间都被管道连通了。FJ有K(1≤K≤100,000)条运输牛奶的路线,第i条路线从隔间si运输到隔间ti。一条运输路线会给它的两个端点处的隔间以及中间途径的所有隔间带来一个单位的运输压力,你需要计算压力最大的隔间的压力是多少。题解:树上差分 分为 点差分 和 边差分点差分:比如讲红色到绿色路径上的点都+x,求

2021-02-25 16:57:51 177

原创 503. 借教室

503. 借教室题意:在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来n天的借教室信息,其中第i天学校有ri个教室可供租借。共有m份订单,每份订单用三个正整数描述,分别为dj,sj,tj,表示某租借者需要从第sj天到第tj天租借教室(包括第sj天和第tj天),每天需要租借dj个教室。我们假定,租借者对教室的大小、地

2021-02-25 16:37:08 119

原创 257. 关押罪犯

题意:S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c的冲突事件。每年年末,警察局会将本年内监狱中的所有冲突事件按影响力从大到小排成一个列表,然后上报到S城Z市长那里。公务繁忙的Z市长只会去看列表中的第一个事件的影响力,如果

2021-02-25 12:45:20 142

原创 AcWing 253. 普通平衡树

您需要写一种数据结构(可参考题目标题),来维护一些数,其中需要提供以下操作:插入数值x。删除数值x(若有多个相同的数,应只删除一个)。查询数值x的排名(若有多个相同的数,应输出最小的排名)。查询排名为x的数值。求数值x的前驱(前驱定义为小于x的最大的数)。求数值x的后继(后继定义为大于x的最小的数)。注意: 数据保证查询的结果一定存在。本题为平衡树基本操作的代码实现#include <cstdio>#include <cstring>#include &lt

2021-02-25 11:31:53 138

原创 平衡树

平衡树—>treap = tree + heapBinary search tree 二叉搜索树左子树< 根 < 右子树BST的中序遍历一定是递增序列本质:动态维护一个有序序列treap让BST尽量随机,使得复杂度稳定在log级别Node{ int l,r; int key,val;}key是BST里的值,val是大根堆里一组不同的key和一组不同的val就可以将二叉搜索树确定左右旋后中序遍历不变想要删除一个点,就将这个点通过左右旋移动到根节点,然后删

2021-02-25 10:39:20 77

原创 Sky Garden

Sky Garden题意:画n个圆和m条直线,圆的中心点为(0,0),圆的半径分别从1到n,而直线都必经过(0,0)点,并且所有直线会把每个圆平均分成2m个面积相等的区域,直线会和圆形成交点,求所有交点两两经过线的最短路径的和。题解:因为题目多圆,多线,所以我们分类讨论情况一:对于一个圆上的两个点,他们之间的最短距离是圆弧的长度或者是两者到圆心的距离和,即图中的粉色和绿色部分情况二:对于不是一个圆上的两个点A和B,他们之间的最短距离是从外圈圆B通过直线到内圈圆C,然后C到A的最短距离如图

2021-02-25 00:10:34 220

原创 Gitignore

Gitignore题意:给你一些文件夹和文件,文件夹没有空的,文件夹里面可能有文件和文件夹,有n个文件是可以忽略的,有m个文件是不能被忽略的,我们要找到最少的能被忽略的文件的个数。题解:这个题其实很模拟,读懂题意按照题目要求模拟就行,我是这么想的,对于m个可以忽略的文件,我们将这些文件的路径进行记录,(因为路径是字符串,所以用map记录)然后对于n个可以忽略的文件,我们从头到尾一次到map中验证,看map.count()能否查到,如果查不到,且这个文件夹为被省略(这里可以用map2实现),我们就将

2021-02-24 23:17:49 56

原创 Fibonacci

Fibonacci题意:f[i]表示第i位的斐波那契数列给定n,求题解:这种题一开始没什么思路,那么枚举就行g(x,y) = 1 是当x * y为偶数时x * y为偶数说明:x是偶数,y也是偶数x是奇数,y是偶数而奇 * 奇 = 奇根据斐波那契数列,1,1,2,3,5,8,13,21,34我发现第3位,第6位,第9位都是偶数,其他都是奇数,也就是3的倍数位都是偶数,这样我们就可以求出一个区间内斐波那契数列有几个偶数,因为奇 * 奇 = 奇是不能累加的,我们设偶数数列为ans,ans=

2021-02-24 23:13:59 68

原创 Walker

Walker题意:一个区间[0,n],区间上有两个点,坐标分别是pos1,pos2,速度分别是v1,v2,这两个点是在移动,可以随时改变移动方向,问当区间的每一块均被一个点或两个点移动覆盖时,最少花费的时间是多少题解:介绍一个函数get_dis(pos,v,n):在pos位置覆盖区间n需要的最短时间这个最短时间由两个部分取最小值一个部分是从pos走到0再返回到n另一个是从pos走到n再返回到0我们分类讨论情况:当其中一点的速度>>另一点速度时,这样我们就靠一个点来跑完全程就行

2021-02-24 23:07:34 83

原创 Mine Sweeper II

Mine Sweeper II题意:给你两个大小为 n * m 的扫雷图 A, B,要求通过最多 n * m/2 次转换(转换指 把一个不是雷的格子变成雷, 或者把一个是雷的格子变成空白格),使得 B图的值 和 A图的值相等(值 就是指 扫雷图上的所有数字之和,没有数字或者雷的地方的值为0)1≤n,m≤1000题解:一开始做时毫无思路,如果暴力下手肯定不行,有什么优化的地方又一次仔细看题后,突然想到为什么题目要求最多转换次数为n * m / 2,因为避免你将B全部都换一遍,而我们将A全部翻转的

2021-02-24 22:53:14 178

原创 CF613D Kingdom and its Cities

CF613D Kingdom and its Cities题目:给定一棵有n 个节点的树,树上有一些关键点(key)。接下来有q组询问,每次给出ki 个key,要求删去一些点,使得这些key不相连。要求删去的最少的点数。1<=n<=1000001<=q<=100000The sum of all ki 's does’t exceed 100000题解:这篇文章讲的很详细第一反应肯定是树形dp,但是如果每个q都要跑一次完整的树,很俨然O(n * q)肯定会超时,所以肯

2021-02-23 14:49:07 103

原创 Infinite Tree

Infinite Tree题意:题解:参考博客看了好一阵子才明白。。。emm。我们先按照题意画出一部分树我们先不考虑复杂度,这题应该怎么做?题目给了每个点的权值w[i],问一个点到所有的节点路径长度*点权之和最小是多少,很明显是树形dpdp[i]表示以i为根的子树到i的w和sum[i]表示乘上距离之后的答案dep[i]表示深度,now为当前节点,son为子节点则有:dp[now]= w[now]sum[now]=0dp[now]+=dp[son]sum[now]+=sum[

2021-02-23 13:17:51 308

原创 P4178 Tree

P4178 Tree题意:给定一棵 n 个节点的树,每条边有边权,求出树上两点距离小于等于 k 的点对数量。题解:点分治的模板题是求等于K的路径条数本题是求小于等于K的路径条数,我们只需要改变统计答案即可原本统计答案是对一个路劲长度len,判断K-len在之前的子树中出现多少次,用f数组来记录,直接查看f[k-len]等于多少即可现在统计答案是对一个路径长度len,判断小于等于K-len的数在之前的子树中出现多少次,统计区间数量,我们可以用树状数组来实现,对于每个len我们插入数组f[]其中,

2021-02-23 00:04:18 76

原创 P4381 [IOI2008]Island

P4381 [IOI2008]Island题意:给你一棵基环树森林,求出基环树的直径之和.题解:对于基环树,我们将环看作根,那么直径有两种情况::1.不经过环,也就是环上某个点的子树内部,对于这种情况,直接在子树内部处理直径,更新答案即可;2.经过环,答案就是i的子树内长度+j的子树内长度+i和j之间的距离,我们预处理出环上每个点到其子树上的最长距离,在预处理一个环上前缀和,ans=max{sondis[i]+sondis[j]+sumcircle[i]-sumcircle[j]},更新答案即可

2021-02-22 11:46:50 100

原创 P2607 [ZJOI2008]骑士

P2607 [ZJOI2008]骑士题意:n个点n个边,每个点都有权值,相邻的点不能同时选择,问如何选择能使得权值最大题解:这个题很有P1352 没有上司的舞会这个题的感觉,唯一的区别是那个题保证是树,而本题肯定不是树,而是基环树也就是本题中,每一个连通块有且只有一个环,所以我们找到这个环并剪短,这样就形成一颗树,断口的两个端点x和y,我们认为分开对于一棵树,这不就是P1352 没有上司的舞会这个题吗注意有可能存在很多连通块,记得所有连通块的答案要累加代码:#include <cs

2021-02-21 11:25:33 167 1

原创 P1352 没有上司的舞会

P1352 没有上司的舞会题意:给你一个树,每个点都有权值,选择一些点使得权值和最大,要求父亲节点和子节点不能同时选择题解:经典树形dpdp[x][0]表示以x为根的子树,且x不参加舞会的最大快乐值dp[x][1]表示以x为根的子树,且x参加了舞会的最大快乐值则dp[x][0] = ∑{ max(dp[y][0],dp[y][1]) } (y是x的儿子)dp[x][1] = ∑{ dp[y][0] } + a[x] (y是x的儿子)找到唯一的树根rootans=max(dp[root]

2021-02-21 11:01:54 126

原创 P5049 [NOIP2018 提高组] 旅行

P5049 [NOIP2018 提高组] 旅行题意:一棵树(可能是基环树),从1出发,每到达一个新的点就记录下编号。求一种走法使得记录下来的编号字典序最小。1≤n≤500000m=n−1 或 m=n题解:如果不是基环树,那直接每次走字典序小的点即可对于基环树:第一个方法:暴力删边将基环树变为一颗普通的树,然后计算答案,复杂度是O(n * n)这个方法好像只能过P5022 [NOIP2018 提高组] 旅行 这个没加强数据的题,P5049过不了第二个方法:参考题解对于基环树,我们在环

2021-02-20 23:40:31 295

原创 基环树

文章目录概念找环拓扑排序dfs问题解决方法:断环法:题目:二次dp法题目:断环复制法题目:参考博客概念基环树 = n个点n条边的图 = 1棵树 + 1个环无向树(N点N边无向图)外向树(每个点入度=1)内向树(每个点出度=1)以上三种树有十分优秀的性质,就是可以直接将环作为根。就可以对每个环的子树进行单独处理,最后再处理环找环拓扑排序处理无向图可以找出环上的所有点入度大于等于2的点就是环上的点codevoid topsort(){ int l=0,r=0;

2021-02-20 17:00:30 228

原创 P3992 [BJOI2017]开车

题意:题解:我们要先将问题转换圈是车,x是加油站。红色部分为车移动的路线数组a是车数量的前缀和数组b是加油站的前缀和而a[i]与b[i]的差的绝对值就是对应的红色路被走的次数现在车发生位置移动,b数组没有影响,a数组i到j这段整体减一现在我们要做的就是维护a序列,支持区间+1/-1,询问∑| a[i] - b[i] |线段树不能实现用分块实现实现过程:按照下标分块,每块按照a[i] - b[i] 排序代码:代码为借鉴#pragma optimize("Ofast")#i

2021-02-20 16:19:23 90

原创 P4135 作诗

P4135 作诗题意:给定 n 个不大于 c 的正整数 a1…an 和 m 组询问,每次问 [l,r] 中有多少个数出现正偶数次。对于每次询问:设上一个询问的答案为 ans(第一个询问时 ans=0),令L=(l+ans)mod n+1,R=(r+ans)mod n+1,若L>R,交换 L 和 R,则本次询问为[L,R]。题解:第一反应是莫队,但是题目明确说了是强制在线当这种区间问题想不到什么好方法时,分块暴力就是最好的方法首先预处理前i块内颜色为j的出现几次sum[i][j]ans

2021-02-20 15:40:09 114

原创 CF1183H Subsequences (hard version)

题意:长度为n的字符串S,现在要找出k个不同的子序列,使得这些序列的总价值最低一个序列的价值等于删去的字符长度(空串也算子序列)1≤n≤100,1≤k≤1012题解:一看就是dp,我们先想想串a可以有多少不同的子序列dp[i][j]表示前i个字符构造出来的长度为j的子序列数量转移方程不难得到:dp[i][j]=dp[i-1][j-1]+dp[i-1][j],(也就是选第i个和不选第i个)但是这样做是存在重复的比如satwt,按照上面的方法,st和at就会重复出现,那么怎么才能避免?因为t

2021-02-20 12:42:11 133

原创 CF1043E Train Hard, Win Easy

CF1043E Train Hard, Win Easy题意:n个人有Ai和Bi两个属性,给出m个关系:xi yi表示xi和yi不能配对i,j两人规定匹配的价值为min (Ai + Bj , Bi + Aj )回答出每个人跟所有人配对(除开不能和自己匹配的人)的价值总和题解:两两匹配取min (Ai + Bj , Bi + Aj )假设 Ai + Bj < Bi + AjAi - Aj < Bi -Bj按照此规则排序即可,在前面的选x,后面的选y再考虑m个不能匹配的情况

2021-02-20 09:38:00 110

原创 【AcWing 243. 一个简单的整数问题2】

例题:【AcWing 243. 一个简单的整数问题2】线段树模板题,区间修改区间求和。题解:将序列分成N/B块,维护:id[i] = i/B,i所在块标号res[id] = 第id块的sumbase[id] = 第id块的add标记修改时,大块修改base[id],小块修改a[i],同时维护每块的res[id]。询问时,大块使用res[id]信息/小块暴力。总复杂度O(Q*sqrt(N))。代码:#include<bits/stdc++.h>typedef long lo

2021-02-20 00:29:45 144

原创 【AcWing 249. 蒲公英】

【AcWing 249. 蒲公英】题意:长度为n的序列,给定区间,求区间众数,如果出现次数相同,输出编号最小的题解:区间众数,不带修改,强制在线(否则可以莫队)没有什么好办法那就只能暴力分块分块,预处理任意两个大块之间的众数,相当于求出所有后缀的众数情况(枚举左块的端点,n*sqrt(n))询问[l,r]中众数肯定是大块idl+1 ~ idr-1的众数,或者小块中的某个数这一共是有sqrt(n)个候选答案,需要统计其在区间[l,r]内的出现次数,第一个方法是用adj[x]记录x的所有出现次

2021-02-20 00:27:55 157

原创 CF785E Anton and Permutation

CF785E Anton and Permutation题意:对于一个长度为 n 的序列进行 k 次操作,每次操作都是交换序列中的某两个数。对于每一个操作,回答当前序列中有多少个逆序对。1<=n<=2000001<=q<=50000题解:动态逆序对(树套树模板题)用分块的方法做假设 x=a[l],y=a[r] 且 x<y, swap(a[l],a[r])时,只有下标区间 (l,r) 中值域在 [x,y] 中的数会影响逆序对数量。分块,每块维护1个有序vector

2021-02-19 18:31:11 149

原创 分块

对长度=N的序列,将其分成若干连续块,一般块大小B取sqrt(N),块数量 = N/B = sqrt(N)。用某种数据结构(打tag维护sum、有序数组维护kth等)维护每块的信息,小块暴力/大块打标记,在O(sqrt(N))时间内实现修改和询问。注意下标i在i/B块第i块的下标范围是[i*B,(i+1)*B),左闭右开区间修改和询问时,一般要特判[l,r]在同一个块中的情况。例题:【AcWing 243. 一个简单的整数问题2】线段树模板题,区间修改区间求和。题解:将序列分成N/B块

2021-02-19 17:33:39 104

原创 P2486 [SDOI2011]染色

P2486 [SDOI2011]染色题意:题解:与一般的树链剖分相比,不同点在于查询的不是路径上颜色的数量而是颜色段的数量对于两个颜色段,112和221,两个颜色段数量都是2如果合在一起颜色段的数量就是3,因为左边颜色段的右侧和右边颜色段的左侧是一样的颜色,合在一起后就成一段所以本题其实就是将常规的区间求和改成这种特殊情况,在求完和的基础上,对左区间的最后一个颜色和右区间的第一个颜色进行判断,如果一样就减一树剖中是把两点之间剖成了若干条链,所以我们还要解决不同的链之间的颜色重复问题,解决to

2021-02-19 12:07:45 122

原创 P2146 [NOI2015] 软件包管理器

P2146 [NOI2015] 软件包管理器题意:如果软件包 a 依赖软件包 b,那么安装软件包 a 以前,必须先安装软件包 b。同时,如果想要卸载软件包 b,则必须卸载软件包 a。软件包之间存在依赖关系,除了0号软件包以外,其他软件包都会依赖一个且仅一个软件包。不会存在环的情况现在对某个软件包进行安装和卸载,问这个操作实际上会改变多少个软件包的安装状态题解:本质就两个操作,安装是询问节点x到根节点的操作,卸载是查询x的子树的操作。但是题目中问的是每一步操作会改变多少状态,所以我们需要记录上一次

2021-02-19 10:43:46 208

原创 P3178 [HAOI2015]树上操作

P3178 [HAOI2015]树上操作题意:题解:这已经是很裸的树链剖分了。。。直接套模板代码:#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>using namespace std;#define int long longconst int maxn=2e5+10;inline int rea

2021-02-19 00:12:31 189

原创 P3258 [JLOI2014]松鼠的新家

文章目录题意:题解:树上差分代码:树链剖分代码:P3258 [JLOI2014]松鼠的新家题意:n个点,n-1条边,给出每个点的拜访顺序,问每个点经过几次(最后一次移动不算拜访)题解:题意明确后就很好做了,对于给定的x和y,我们只需要分别将x和y到lca(x,y)经过的点加一即可但是这样直接做肯定不行有两个方法:树上差分树链剖分树上差分参考题解我们先考虑对于数组,我们指定连续一段加一我们现在对a2到a6区间进行加一现在处理差分数组,我们对a2加一,对a7减一差分属猪的定义:

2021-02-18 23:57:35 192

原创 树链剖分

文章目录思想及能解决的问题解决的问题重链剖分定义:重子节点轻子节点重边轻边重链性质:应用操作求最近公共祖先路径上维护路径上更改值路径求和子树维护子树更改值子树求和代码:源自oi-wiki树链剖分思想及能解决的问题树链剖分用于将树分割成若干条链的形式,以维护树上路径的信息。具体的说:将整棵树剖分为若干条链,使它组合成线性结构,然后用其他的数据结构维护信息。树链剖分有重链剖分,长链剖分和用于Link/cut Tree的剖分,大多数情况下(没有特别说明时),“树链剖分”都指“重链剖分”解决的问题

2021-02-18 20:39:01 245

转载 P5829 【模板】失配树

P5829 【模板】失配树题目:题解:参考题解我们先想一个问题:如何求出一个字符串的所有border?如果一个字符串既是 S的前缀又是 S 的后缀,那么我们把 SS 自己平移一下就可以前后重合,然后我们就可以继续匹。。。。。这不就是KMP吗求两个前缀的最长公共border,先对原串进行KMP,通过跳两个前缀的next求到两个前缀的所有border我们通过next数组构建一棵树(发现这就是只有一个字符串的AC自动机的fail树,所有我们也叫它fail树),容易发现两个前缀的最长公共bord

2021-02-18 10:22:31 154

原创 失配树(border树)

4和6没有border关系举例子:当i = 3时,j = fa[i-1] = fa[2] = 0s[j+1] = s[1] = a = s[3]所以把i = 3点的父亲设为j+1 = 1P5829 [模板]失配树

2021-02-18 09:21:41 613

原创 P3265 [JLOI2015]装备购买

题目描述:给N个整数向量,每个向量带权值,求权值和最小的线性基题解:按权值v从小->大排序,依次插入线性基。整数线性基的思想类似,只是此时“消去”不能直接xor完成,需要类似高斯消元一样for一遍代码:#include<bits/stdc++.h>#define eps 1e-5using namespace std;struct node{ double a[510]; int w; bool operator <(const node x) const{

2021-02-17 11:37:12 85

原创 [TJOI2008]彩灯

题目:Peter 女朋友的生日快到了,他亲自设计了一组彩灯,想给女朋友一个惊喜。已知一组彩灯是由一排 N个独立的灯泡构成的,并且有 MM 个开关控制它们。从数学的角度看,这一排彩灯的任何一个彩灯只有亮与不亮两个状态,所以共有 2N个样式。由于技术上的问题,Peter 设计的每个开关控制的彩灯没有什么规律,当一个开关被按下的时候,它会把所有它控制的彩灯改变状态(即亮变成不亮,不亮变成亮)。假如告诉你他设计的每个开关所控制的彩灯范围,你能否帮他计算出这些彩灯有多少种样式可以展示给他的女朋友?注: 开始时所有

2021-02-17 11:23:31 211

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除