思维题
文章平均质量分 60
通信男神杨丽斌
我们不能,不能失去信仰
展开
-
区间dp练习题
题目链接:https://www.luogu.com.cn/problem/T121078?contestId=26815题目描述阿伟死了 qwq (终于死了) ,因为这个他玩的游戏实在是太难了,他通宵几天都没能过关,最后猝死在电脑前,但是他临走前,给了一个任务,希望你能帮他通过这个游戏,为了阿伟能瞑目,你现在要开始继续玩这个游戏。这个游戏是这样的,你有 n 个矩阵排成一个圈,假设第 ...原创 2020-02-24 11:47:30 · 332 阅读 · 0 评论 -
字节跳动2018校招后端方向 [编程题]用户喜好
题目描述:时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 256M,其他语言512M为了不断优化推荐效果,今日头条每天要存储和处理海量数据。假设有这样一种场景:我们对用户按照它们的注册时间先后来标号,对于一类文章,每个用户都有不同的喜好值,我们会想知道某一段时间内注册的用户(标号相连的一批用户)中,有多少用户对这类文章喜好值为k。因为一些特殊的原因,不会出现一个查询的用户...原创 2020-02-23 12:14:50 · 370 阅读 · 1 评论 -
Codeforce 1288 E. Messenger Simulator (思维+树状数组)
题目链接:https://codeforces.com/contest/1288/problem/E题目大意:给定一个1到n的排列,现在有m个操作,每个操作给定一个数x,表示将x移动到排列的第一个,其他位置相对不变,问你每个数,他的位置的最大值和最小值分别是多少?思路:思路应该是模拟操作,并且用数据结构加速操作,如何操作更快呢?因为每次我只移动一个数,其他的数相对位置不会改变,...原创 2020-01-19 12:41:59 · 316 阅读 · 0 评论 -
Codeforces 1288 D.Minimax Problem (思维题)
题目链接:https://codeforces.com/contest/1288/problem/D题目大意:给定一个n*m的矩阵,m很小,现在你需要在矩阵中选择两行,将他们组成一个新的数列,每个位置为你选择的两行位置的最大值,也就是Ci=max(Ai,Bi)。现在你需要让这个新的数列的最小值最大,问你选择哪两行可以做到?思路:首先,最小值最大的问题可以考虑二分答案mid,考虑...原创 2020-01-17 17:13:07 · 426 阅读 · 0 评论 -
Codeforce 1288 C.Two Arrays (思维+dp)
题目链接:https://codeforces.com/contest/1288/problem/C题目大意:给定两个整数n和m,现在你需要构造如下两个数组A,B:两个数组的长度均为m 两个数组的元素均在[1,n]之间,允许重复 对于任意位置i,有Ai<=Bi A数组元素是非递减排列的,也就是Ai<=Ai+1 B数组元素是非递增排列的,也就是Bi<=Bi+1...原创 2020-01-16 17:18:48 · 589 阅读 · 0 评论 -
AtCoder Beginner Contest 150 D - Semi Common Multiple
题目描述给定一个n长度的数组A=a1,a2,a3.....an,数组元素均为偶数,现在定义一个半公倍数X如下: 对于所有的i∈[1,n],都存在一个非负整数p,满足 题解请你找到在区间[1,M]的范围内,有多少个数组A的半公倍数X。首先很明显的是,X一定是所有的公倍数,因为原式可变形为其次,X一定是所有的奇数倍,因为原式还可以写成有了这两个东西,其实就可以算了...原创 2020-01-14 17:00:22 · 787 阅读 · 0 评论 -
牛客练习赛56D.小翔和泰拉瑞亚(线段树+思维)
题目链接:https://ac.nowcoder.com/acm/contest/3566/D题目大意:给定一个n元素数组,你有m个操作,每次操作可以选择一个区间[li,ri],将这个区间内的数减少vi,你可以选择其中一些进行操作,问你最后可以得到的最大值与最小值的差是多少?思路:因为每个操作是对于区间而言,我们不可能去遍历每个区间,所以需要更好的策略。又因为题中说的是最大值与...原创 2020-01-02 15:55:57 · 271 阅读 · 0 评论 -
牛客练习赛56.小雀和他的王国 (无向图缩点+树的直径)
题目链接:https://ac.nowcoder.com/acm/contest/3566/E题目大意:给定一个无向图,初始时无向图内的任意两点均有若干条路径,现在你可以加一条边,使得下一次随机删除一条边时,删除的边让某两个城市变成无法连接的概率最小,求最小概率。思路:一眼就可以看出,如果删除的是桥,那么就会形成两个城市无法连接的情况。所以我加边的时候就需要尽可能地让一些桥变成...原创 2020-01-01 12:09:58 · 182 阅读 · 0 评论 -
AtCoder Beginner Contest 149 F.Surrounded Nodes (期望)
题目链接:https://atcoder.jp/contests/abc149/tasks/abc149_f题目大意:给定一个N个节点的树,每个节点有1/2的概率染黑,有1/2的概率染白,随机染色之后,在树上找到一个最小的连通块S,使得S包围所有的黑色节点,求S包围的白色节点的期望个数。对1e9+7取模。比如,如下样例:31 22 3只有一种情况S中包含白色节点,即1...原创 2019-12-29 21:26:06 · 854 阅读 · 4 评论 -
AtCoder Grand Contest 041 B.Voting Judges (二分)
题目链接:https://atcoder.jp/contests/agc041/tasks/agc041_b题目大意:有n个问题,m个裁判,每个裁判会给v个不同的问题投票,投一票加一分;同时每个问题还有一个ai作为初始分数,现在在所有裁判投票完成后,选取前p大的问题,如果a[p]==a[p+1]==a[p+2]这样的话,相同的分数都会选择进来,问你有多少个问题可能被选择?思路:比赛...原创 2019-12-29 15:32:26 · 405 阅读 · 0 评论 -
Codeforces 1278 D.Segment Tree(排序+set)
题目链接:https://codeforces.com/contest/1278/problem/D题目大意:给定一堆线段[li,ri],每个线段的端点都不一样,如果两个线段相交,那么他们必须是有一段相交而不是内嵌,比如[1,3]与[2,4]相交,而[1,4]与[2,3]不相交。现在,对于每对相交的线段,我们对他们建边,比如[l1,r1]与[l2,r2]相交,1和2就可以建边,问你最后...原创 2019-12-24 12:01:25 · 572 阅读 · 0 评论 -
Codeforces 1278 B. A and B (思维题)
题目链接:https://codeforces.com/contest/1278/problem/B题目大意:给定两个整数a,b,现在进行以下的操作:第一次操作,从a,b两个数中选择一个+1。第二次操作,从a,b两个数中选择一个+2。第三次操作,从a,b两个数中选择一个+3。....问你最少需要多少步骤的操作,使得a,b两个整数相等?思路:要让两个数相等,我们肯...原创 2019-12-23 16:41:35 · 984 阅读 · 0 评论 -
Codeforces 1269E. K Integers(逆序对,树状数组+二分)
题目链接:http://codeforces.com/contest/1269/problem/ECodeforces 1269E. K Integers题目大意给定一个1到n的排列,定义一个移动操作为:交换相邻的两个元素。现在定义一个函数f(x),表示在原排列中,通过交换操作,形成一个1,2,3....x的排列的子串,需要的最小操作步骤。子串意味着这个排列必须是相邻的。现...原创 2019-12-23 14:17:03 · 698 阅读 · 0 评论 -
腾讯2018秋招正式笔试题目——拼凑硬币
时间限制:(每个case)2s 空间限制:128MB小Q十分富有,拥有非常多的硬币,小Q拥有的硬币是有规律的,对于所有的非负整数K,小Q恰好各有两个面值为2^K的硬币,所以小Q拥有的硬币就是1,1,2,2,4,4,8,8,…。小Q有一天去商店购买东西需要支付n元钱,小Q想知道有多少种方案从他拥有的硬币中选取一些拼凑起来恰好是n元(如果两种方案某个面值的硬币选取的个数不一样就考虑为不一...原创 2019-12-20 16:13:03 · 331 阅读 · 0 评论 -
Codeforces 1255 div2 E1 Send Boxes to Alice (Easy Version)
题目描述给你一个序列,ai表示i位置有多少个糖果,每次你可以将一个位置i的一个糖果给位置i+1或者位置i-1(如果存在的话),现在你需要对糖果进行移动,对于每个有糖果的堆,糖果的数量必须是一个数k(k>1)的倍数,允许空堆的存在,问你最少需要移动多少步?思路假设n堆中有m个为1的糖果,也就是总共为m个糖果,如果可以不全部汇总,我肯定可以将m个糖果分为k堆,k为m的因子,比如1 1...原创 2019-12-06 17:17:22 · 229 阅读 · 0 评论 -
平面点对问题,切比雪夫距离
题目描述给定平面的n个点(n<=1e5),所有坐标的绝对值在50000以内,现在问你有多少对点之间的距离不小于d。这里距离描述为两点的曼哈顿距离,即dist=|xi-xj|+|yi-yj|。思路如果将平面上小于等于d的曼哈顿距离画出来,会是一个菱形切比雪夫距离:平面上两个点(x1,y1)(x2,y2)的切比雪夫距离为max(∣x1−x2∣,∣y1−y2∣),其中∣...原创 2019-12-03 15:37:23 · 2134 阅读 · 0 评论 -
Codeforce 1260 D.A Game with Traps(二分+贪心)
题目链接:https://codeforces.com/contest/1260/problem/D题目大意:一个长度为n+1的直线上有k个陷阱,每个陷阱描述为{l,r,v},表示这个陷阱的起始点l,终止点r,力量值v,你有m个士兵,每个士兵有一个能力值ai,当ai<vi时表示士兵i不能越过陷阱i,但是你可以走过去,当你经过位置ri时,陷阱i就消失了,初始时你们都在位置0,现在要去位...原创 2019-11-29 14:00:42 · 267 阅读 · 0 评论 -
Codeforce 1245D.Shichikuji and Power Grid(最小生成树)
题目链接:https://codeforces.com/contest/1245/problem/D题目大意:平面上有n个点(n<=2000),每两个点之间建边有一个花费,此外还可以选择一个点作为基站,这样与基站在同一个连通块的点都可以被覆盖,选择一个点当作基站也有一个花费,问你将所有点覆盖的最小花费是多少?思路:如果按照题目意思的想,建立k个基站就有k个连通块,每个连通块都...原创 2019-11-24 11:55:31 · 247 阅读 · 0 评论 -
Codeforce round 599 D. 0-1 MST (补图+BFS+思维)
题目链接:https://codeforces.com/contest/1243/problem/D题目大意:给定一个n节点的完全图(n<=1e5),现在给出m条边权为1的边(m<=min(n*(n-1)/2,1e5)),其余的边权值为0,问你这个图的最小生成树的权值大小是多少?题目思路:很明显,如果我们考虑边权为0的边并去掉边权为1的边,那么答案就是边权为0的边组成的...原创 2019-11-21 16:37:02 · 160 阅读 · 0 评论 -
codeforce round 600 div2.F.Cheap Robot(思维+最短路+最小生成树+LCA求树上两点最大边权)
题目链接:https://codeforces.com/contest/1253/problem/F题目大意:在一个无向图中,编号1~k的节点为中心点,可以充电,你有一个机器人,最大电容量为C,机器人在途中行走,如果一条边的距离为wi,机器人就会消耗wi的电量;机器人每行走到一个中心节点,电量自动充满。现在,有q个询问,每次询问输入u,v,(u,v必为中心节点)表示询问如果机器人可以从...原创 2019-11-20 17:10:53 · 505 阅读 · 0 评论 -
Codeforce round 600 div2 D.Harmonious Graph (线段树+并查集)
题目链接:https://codeforces.com/contest/1253/problem/D题目大意:给你一个无向图,一个无向图被定义为Harmonious Graph ,必须满足如下条件:对于两个点l,r(l<r),如果l到r有路径,那么对于所有l<m<r的点m,点l到点m都必须有路径。现在你手上有一个无向图,你需要把他变成Harmonious Grap...原创 2019-11-19 16:16:46 · 179 阅读 · 0 评论 -
牛客暑期多校训练营10——B.Coffee Chicken(分治)
链接:https://ac.nowcoder.com/acm/contest/890/B来源:牛客网题目描述Dr. JYY has just created the Coffee Chicken strings, denoted as S(n). They are quite similar to the Fibonacci soup --- today's soup is made...原创 2019-11-17 15:18:50 · 237 阅读 · 0 评论 -
Codeforce 1257 E .The Contest(最长上升子序列)
题目链接:https://codeforces.com/contest/1257/problem/E题目大意:有三个人拿题目,第一个人要么不拿题目,要么必须拿编号是前缀的题目,比如1,2,3这样,第三个人要么不拿题目,要么必须拿编号是后缀的题目,比如n-2,n-1,n,中间那个就拿剩下的题目。现在已知每个人手上拿的题目的编号,你需要用最少的交换次数,满足上面的条件。思路:将三个...原创 2019-11-16 21:20:36 · 246 阅读 · 0 评论 -
Wannafly挑战赛22B.字符路径(动态规划)
链接:https://ac.nowcoder.com/acm/contest/160/B来源:牛客网字符路径时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述给一个含n个点m条边的有向无环图(允许重边,点用1到n的整数表示),每条边上有一个字符,问图上有几条路径满足路径上经...原创 2019-09-18 21:43:23 · 170 阅读 · 0 评论 -
Codeforce round 553E—— Number of Components (思维)
题目链接:https://codeforces.com/contest/1151/problem/E题目大意:给你一个1到n的排列,定义f函数为f(l,r):只保留排列中值在l和r中的数,返回此时排列的连通块的个数。最后让你求思路:像这样求累加的题目通常是需要向每个元素对答案的贡献这方面思考的。考虑所有左端点为a[i]a[i]的区间对答案的贡献,若a[i−1]<a[i],那么...原创 2019-05-21 15:20:50 · 171 阅读 · 0 评论 -
走廊泼水节.(最小生成树+思维)
题目大意:给定一个树,你需要在这个树中添加若干条边,使得这颗树变成一个完全图,并且满足图的唯一最小生成树仍是这个树,问你最小添加的边权为多少?思路:不妨我们从头开始构造这个最小生成树。假设我们当前加入的边为Edge(u,v,cost),如果u所在的并查集为S(u),v为S(v),因为我们加的这条边,很明显是当前最小的(Kruskal的过程),那么如果我们要把原图变为一个完全图,则两...原创 2019-10-10 12:03:57 · 210 阅读 · 0 评论 -
codeforces101B——Buses(线段树或树状数组+离散化)
题目链接:https://codeforces.com/problemset/problem/101/B题目大意:给你很多个公交车的起点和终点,你可以从一个公交车路线上的任何一个点上车,但上车后只能从公交车路线的终点下车,问你从点1到点n有多少种方案。思路对于一个公交车站的终点ti,所有可能的起点为si到ti-1,设dp[i]为到达某个点的方案数,则最终点ti的方案数肯定就是这些可...原创 2019-08-07 20:47:50 · 260 阅读 · 0 评论 -
牛客多校第三场F——Planting Trees(单调队列)
链接:https://ac.nowcoder.com/acm/contest/883/F来源:牛客网Planting Trees时间限制:C/C++ 3秒,其他语言6秒空间限制:C/C++ 262144K,其他语言524288K64bit IO Format: %lld题目描述The semester is finally over and the summer holi...原创 2019-07-30 21:50:36 · 196 阅读 · 0 评论 -
杭电多校第二场HDU6602——Longest Subarray(思维+线段树)
题目链接:https://ac.nowcoder.com/acm/contest/883/F题目描述给你一个1到n的序列,你要找出最长的一个子序列(连续的),满足序列中所有的元素出现的次数要么为0次,要么大于等于k次。思路(这谁看得出来是线段树。。。。摇了我8对于每一个位置i,维护两个东西:last[i]表示i位置这个值上一次出现的位置lastk[i]表示i位置这个值上...原创 2019-07-30 19:54:59 · 233 阅读 · 0 评论 -
CF 1173C——Nauuo and Cards——(很棒的思维题)
题目链接:https://codeforces.com/contest/1173/problem/C题意:给你2*n张牌,其中有n个0,n个1<=ai<=n的不重复的数,你手上有n张,队列中有n张,你每次可以选择手上的一张牌放到队列尾部,并从队列首部取出一张牌。问你最少经过多少操作之后,队列中的牌将变得有序?(即1,2,3.....n的排列)题解:这是一定可以办得到的,因为你可...原创 2019-06-09 22:03:58 · 340 阅读 · 0 评论 -
codeforce round 553div2C——前缀和
题目描述:给你一个按2的倍数奇偶交替的序列,问你从l到r相加之和为多少比较容易想到可以计算出[1,l-1]的和与[1,r]的和这样的前缀和操作,又因为是2的幂这样累加的,所以我们可以直接统计[1,x]区间内奇数和偶数的个数,直接用等差数列求和即可。#include <cstdio>#include <cstring>#include <algorithm...原创 2019-05-18 21:56:39 · 149 阅读 · 0 评论 -
牛客练习赛44 B(思维题)
题目链接:https://ac.nowcoder.com/acm/contest/634#question链接:https://ac.nowcoder.com/acm/contest/634/B来源:牛客网题目描述给出n条线段,第i条线段的长度为aiai,每次可以从第i条线段的j位置跳到第i + 1条线段的j+1位置。如果第i+1条线段长度不到j+1,那么就会回到第i条线段的0位...原创 2019-04-23 20:43:39 · 194 阅读 · 0 评论 -
牛客小白月赛12——E——剪木条
题目链接:https://ac.nowcoder.com/acm/contest/392/E最长的剪切子段长度应该由最长的木条确定,所以二分最长的木条,枚举能够满足条件的长度代码:#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>u...原创 2019-03-12 10:01:09 · 167 阅读 · 0 评论 -
Gym - 101933K ——推公式和容斥原理
题目链接:https://vjudge.net/problem/Gym-101933K题目大意:国王给你一个n个节点的树,有k种颜色,问正好染k种颜色的方法有多少种,前提是相邻的节点颜色不同题解:其实仔细想想,就会发现只要求相邻节点之间不同颜色的话,和树的结构是无关的。如果只要求用k种颜色染,那么答案ans=k*(k-1)^(n-1),那么刚好染满这k种颜色的情况,...原创 2019-03-14 20:55:04 · 357 阅读 · 0 评论 -
热身1——K——Football Training Camp
在一次足球联合训练中一共有n支队伍相互进行了若干场比赛。 对于每场比赛,赢了的队伍得3分,输了的队伍不得分,如果为平局则两支队伍各得1分。 Input 输入包含不超过1000组数据。 每组数据的第一行为一个整数n(2 ≤ n ≤ 20),第二行为n个整数s1, s2, …, sn(0 ≤ si ≤ 200, 1 ≤ i ≤ n),即各个队伍目前的得分。Output 对于每组数据,用一行...原创 2018-08-28 16:40:34 · 397 阅读 · 0 评论 -
杭电多校第10场HDU6701.Make Rounddog Happy(线段树)
题目大意:给定一个长度为N的数组,问有多少个子数组Array[L....R]满足max{Array[L....R]} - (R-L+1) <= K且子数组中的数都不相同思路:这种求满足某种子段区间个数的题目好像都快成套路题了,答案说是RMQ+分治,那不就是线段树吗.....本题用线段树就简介明了很多了。首先,必不可少的就是枚举左端点L,那么我必须知道这个左端点最右端可...原创 2019-08-26 20:50:07 · 173 阅读 · 0 评论 -
HDU6703.array(权值线段树)
题目描述:给你一个Array{1,2...n}的数列,其中每个元素都是独立的,每个元素大小不大于1e5,长度也不大于1e5,现在有两种操作:(1,pos):将pos位上的元素a[pos]变为a[pos]+1000000;(2,r,k):询问当前数组中,不等于a[1],a[2]....a[r]且不小于k的元素的最小值。思路:因为元素数据范围不大,加上1000000就相当于删除,现...原创 2019-08-27 11:04:23 · 148 阅读 · 0 评论 -
UVa 10881-Piotr's Ants(很棒的思维题)
https://vjudge.net/problem/UVA-10881题目大意:在一根长为L的木棍上有n只蚂蚁,每只蚂蚁有一个前进的方向,每只蚂蚁的速度都是1厘米/秒,当两只蚂蚁相遇时,两只蚂蚁将会拐弯,即前进方向与之前相反,现在给出时间T和初始状态所有蚂蚁的位置和方向,请求出T时刻每只蚂蚁的位置和方向(如果掉落输出Fell off)思路:如果按照题目模拟,显然不是好的做法,必超...原创 2019-09-02 16:01:57 · 205 阅读 · 0 评论 -
Wannafly挑战赛5A.珂朵莉与宇宙(前缀和+枚举)
链接:https://ac.nowcoder.com/acm/contest/36/A来源:牛客网珂朵莉与宇宙时间限制:C/C++ 2秒,其他语言4秒空间限制:C/C++ 65536K,其他语言131072K64bit IO Format: %lld题目描述星神是来自宇宙的所以珂朵莉也是吧所以我就出了个题给你一个长为n的序列a,有n*(n+1)/2个子区间,问...原创 2019-10-09 10:48:41 · 350 阅读 · 0 评论 -
2016湖南省赛F.地铁(以边为点的最短路)
题目大意:给定一个n节点m条边的无向图,每条边有一个编号c,如果你上一次走的边的编号为ci,下一次走的边的编号为cj,那么你就需要花费|ci-cj|的时间换乘,此外,每条边还有花费,现在要你求1到n的最短路。思路:一个比较好想的思路就是,用dijkstra的堆优化,堆节点保存上一条进入点u的边的编号c,这样就可以取最小答案。但是,对于一个点而言,如果他有许多条编号不一样的入度边,...原创 2019-10-07 20:29:36 · 195 阅读 · 0 评论