登录社区云,与社区用户共同成长
邀请您加入社区
deepseek给出的经典必刷题.必刷题型:字符串反转、子串查找、回文判断、字母统计(ASCII码转换)偷分技巧:直接用Python的[::-1]split()count()等内置函数暴力解题必刷题型:数组去重、两数之和、合并有序数组、链表反转偷分技巧:遇到链表题优先用**哑结点(dummy node)**简化边界条件必刷题型:前序/中序/层次遍历、求深度、对称二叉树判断万能模板:递归写法(5行代
最短路径问题是图论中的核心问题,目标是找到图中两点间权重和最小的路径。
最近准备蓝桥杯 一直在练搜索和图论hhh。
补题
巫妖王的天灾军团终于卷土重来,血色十字军组织了一支先锋军前往诺森德大陆对抗天灾军团,以及一切沾有亡灵气息的生物。孤立于联盟和部落的血色先锋军很快就遭到了天灾军团的重重包围,现在他们将主力只好聚集了起来,以抵抗天灾军团的围剿。可怕的是,他们之中有人感染上了亡灵瘟疫,如果不设法阻止瘟疫的扩散,很快就会遭到灭顶之灾。大领主阿比迪斯已经开始调查瘟疫的源头。原来是血色先锋军的内部出现了叛徒,这个叛徒已经投靠
将每个约束视作等式Au⊕Av=z,注意到如果我们固定某个连通块内一个顶点的值(例如令它的“电势” d=0),那么对任意顶点 v 都有Av=t⊕dv。第 i 个黑球( 1≤i≤N )的值是 Bi ,第 j 个白球( 1≤j≤M )的值是 Wj。在所有这样的选择中,求所选球的数值之和的最大值。对于某一位 j(权值 2^j),设连通块中有 cnt1个顶点在该位为 1,其余 cnt0个顶点在该位为
1393:联络员(liaison)时间限制: 1000 ms内存限制: 65536 KB提交数:8130通过数: 4149【题目描述】Tyvj已经一岁了,网站也由最初的几个用户增加到了上万个用户,随着Tyvj网站的逐步壮大,管理员的数目也越来越多,现在你身为Tyvj管理层的联络员,希望你找到一些通信渠道,使得管理员两两都可以联络(直接或者是间接都可以)。Tyvj是一个公益性的网站,没有过多的利润,
1390:食物链【NOI2001】时间限制: 1000 ms内存限制: 65536 KB提交数:6572通过数: 3356【题目描述】动物王国中有三类动物A,B,C,这三类动物的食物链构成了有趣的环形。A吃B, B吃C,C吃A。现有N个动物,以1-N编号。每个动物都是A,B,C中的一种,但是我们并不知道它到底是哪一种。有人用两种说法对这N个动物所构成的食物链关系进行描述:第一种说法是"1 X Y"
Bessie 正在计划一年一度的奶牛大集会,来自全国各地的奶牛将来参加这一次集会。当然,她会选择最方便的地点来举办这次集会。每个奶牛居住在N个农场中的一个,这些农场由N−1条道路连接,并且从任意一个农场都能够到达另外一个农场。道路i连接农场Ai和Bi,长度为Li。集会可以在N个农场中的任意一个举行。另外,每个牛棚中居住着Ci只奶牛。在选择集会的地点的时候,Bessie 希望最大化方便的程度
Edu175
思路:注意到数据范围是2e5思考如何优化计算方式,考虑到逆序对的定义是 i < j and ai > aj,而且每次只修改一个字符,思考到可以计算一下在当前位置的逆序对数量,对0 / 1分情况讨论,对另一半取反然后取最大值即可,逆序对数量可以用类似前缀和的方式快速计算。现在对于任意一个单词,定义:它需要一个最小的大小为 x 的字母表,当且仅当这个单词只用到了英文字母中的前 x 个字符。题意:你有
最大生成树
求次短路
建议、代码来源:deepseek。条负单向边,判断图上有没有。不用思考,求负环模板题。
考虑分治,使用set递归找出所有极大的区间(有一些细节见代码,边界问题很容易错),依次删除,然后你会剩下一些空子,是经典的括号匹配问题(卡特兰数(使用递推求解)),所有方案数相乘即可。1 2 3 4 5 是可行的,不过需要特判一下n=6/7的情况。乍一看没什么思路,正难则反,考虑将所有区间减去不合法的区间。F1看起来是高精度好可怕,跑路了跑路了(doge)一开始想复杂了,以为是神秘计数poly题。
思路:由题意有,对于一个ai,找下一个理他最近的ai,注意到N < 1e5所以双重遍历不理想,思考把相同的元素融入到一个vector里面,每次看vector里面两个相邻的元素即可,转化到On左右。但是这样显然有一个问题,在对于2操作进行模拟的时候,要把两个巢穴的鸽子全部清空,然后互相copy,当N过大时,两个互相copy的过程能达到On^2,显然超时。考虑一下优化方式,不涉及的巢穴中去鸽子,2操作
最近没怎么练cf库库掉分了
如果一个交换机停止工作,导致其它一些地点不能通讯,这样的地点交灾区。那么也就是图中去掉该顶点后,有些顶点之间不再连通(没有路径),那么也就是整个图不再是连通图。使用tarjan算法求出所有割点,将割点保存在一个set中,或用数组标记哪些顶点是割点,而后统计割点数量。每个交换机是一个顶点,如果两地点之间有电话线连接,那么两顶点之间有一条无向边,该图是无向图。初始时任何地点之间都是可以通讯的,也就是说
题意:给定一个长为 n (2≤n≤2×105) 的序列 a (1≤ai≤1000),求 gcd(ai,aj)=1max{i+j}。想要确定 bi,只需要枚举还没有选择的 aj,使得 bi=bi−1oraj 最大 即可。求每次操作之后,是否可以重新排列 s 和 t 的字符,使 s 字典序比 t 小,如果可以,则输出“YES”,否则输出“NO”。q 次询问,对于每一个 ki (1≤
Codeforces 241E 耗时2个半小时
题解关键思路:1.约束条件建模:若两个数无法共存同一栈(即会导致后续排序无法完成),则在它们之间建立无向边,形成图中的约束关系。2.二分图判定:将问题转化为判断图是否为二分图。若能染色,则按染色方案分配栈;否则无解。3.操作序列生成:根据染色结果,模拟栈操作流程,确保操作字典序最小。
你需要花费w元才能获得物品 1,但现在你可以通过花费x获得物品 2 后,再花费k元,就可以获取物品 1。然后,物品拥有等级,经过手的物品等级差距不能超过 M。现在有N个物品,告诉你每个物品的等级,以及每个物品直接购买所要花费的费用P,以及一系列物品替换方式,请问如何花最少的钱购买到物品N。
树的直径,即树中最长的一条路。本文章讲解了3中不同的方法求树的直径。
对于现在走到的点i,它前面会有k给点,后面有s个点,那么与最短路有关的就是后面s给点应该如何走,而前面的k个点,我们只需记录走过这几个点所需的最短路。那么就可以用状压dp,比方说现在走到i点,01串用来代表之前走过的状态,比如n=7,i=2,01串(我们叫它st好了)是0011010,就代表2、4、5点是走过的(走过的点标1,一开始的状态就应该全是0),其中现在处在点2。那么dp[st][i]就应
Bananas are the favoured food of monkeys.In the forest, there is a Banana Company that provides bananas from different places.The company has two lists.The first list records the types of banana
不存在重量不确定的三角形,说明该方程在转化为“上三角形”之后,出现了。题目还是很好理解的,每次给定几个三角形和重量,就可以建立。的矩阵,但是按照上面的思路来建立的话,会搞出来一个。最重的三角形只有一个,我们只需要在回代过后,对。,最开始我这里想了很久,可以抓多次同个三角形。这类恒等式,表示无数组解,当然无解也是这样。行出错,对于高斯消元时的处理,并不能直接。想一想高斯消元的模板长什么样子,一个。错
图论
——图论
联系我们(工作时间:8:30-22:00)
400-660-0108 kefu@csdn.net