返回顶部

随笔分类 -  Codeforces

上一页 1 ··· 11 12 13 14 15
摘要:题意:给你一个无限长且元素均为$0$的排列,每次给你一对$(x,y)$,表示在所有$x$的后面插入一个元素$y$,最后给你一个区间$(l,r)\(,输出\)[l,r-1]$中的所有元素. 题解:我们用一个vector和pair来存储每次输入的$(x,y)$,显然,在$x$后插入的最后一个数一定是$x 阅读全文
posted @ 2020-05-10 17:21 _Kolibri 阅读(138) 评论(0) 推荐(0)
摘要:题意: 一个人在雪地上滑雪,每次可以向上下左右四个方向移动一个单位,如果这条路径没有被访问过,则需要5秒的时间,如果被访问过,则需要1秒(注意:判断的是两点之间的距离,不是单纯的点).给你他的行动轨迹,求消耗的时间. 题解:我们用两个pair来维护边,用map来对边进行标记,每次更新map记得双向更 阅读全文
posted @ 2020-05-08 12:43 _Kolibri 阅读(164) 评论(0) 推荐(0)
摘要:题意 :给你两个指数类型的数$Am$和$Bn$,比较他们的大小.保证底数和指数中最多只有一个为0. 题解 :题目数据非常大,肯定不能直接比较.由换底公式和$Log$函数的性质我们知道:\(LogA^m=mLogA\),又因为$Log$函数是单增的,我们便可以用它来进行大小的比较.这里要注意当底数为0 阅读全文
posted @ 2020-05-05 14:02 _Kolibri 阅读(236) 评论(0) 推荐(0)
摘要:题意:给你一组数,求最长的严格上升子序列及个数(mod 1e9+7) 题解:用动态规划来求LIS,记$dp[i]$是数组中第i个位置上的数的LIS最优解,我们遍历一遍原数组,然后找i位置前的LIS,如果$a[j]<a[i]$并且$dp[j]+1>dp[i]$那么当前i位置的最优解就应该更新成$dp[ 阅读全文
posted @ 2020-05-05 13:45 _Kolibri 阅读(194) 评论(0) 推荐(0)
摘要:题意:给你n个数,有m次操作,每次使得两个数相连接,询问q次,问某两个数是否连接在一起. 题解:这其实是一道并查集的裸题,这里就不再多说了,写个路径压缩的find函数即可. 代码: #include <iostream> #include <cstdio> #include <cstring> #i 阅读全文
posted @ 2020-05-05 13:22 _Kolibri 阅读(310) 评论(0) 推荐(0)
摘要:题意:给你一个整数n,求所有n/k的值(k∈{1,2,3...,n,.......}). 题解:最简单的方法是用枚举1~sqrt(n),把除数和商放进set中,就能直接水过,但后来看其他人的题解了解到了一种新方法:分块. 1,2,3,4,5,6,7,8,9,10. 10,5,3,2,2,1,1,1, 阅读全文
posted @ 2020-04-30 01:03 _Kolibri 阅读(169) 评论(0) 推荐(0)
摘要:题意:给你两个正整数a和b,询问q次,每次给你一个区间[l,r],问[l,r]中有多少数字满足:x%a%b!=a%b%a. 题解:看公式无从下手的题,一般都是要找规律的.首先,我们知道,假如x%a%b!=x%b%a,那么:(x+lcm(a,b))%a%b!=(x+lcm(a,b))%b%a,(这个知 阅读全文
posted @ 2020-04-27 16:15 _Kolibri 阅读(250) 评论(0) 推荐(1)
摘要:题意:给你n个数和一个底数k,每个数每次能减去k^i(i=0,1,2,....),每个k^i只能用一次,问是否能够将每个数变为0. 题解:我们将每个数转化为k进制,因为每个k^i只能用一次,所以我们统计每个位置上的cnt,若cnt>1,则需要多次用到k^i,则不满足条件. 代码: 1 #includ 阅读全文
posted @ 2020-04-27 14:39 _Kolibri 阅读(174) 评论(0) 推荐(0)
摘要:题意:给你一个数组a,询问m次,每次返回长度为k的和最大的子序列(要求字典序最小)的pos位置上的数字. 题解:和最大的子序列很简单,排个序就行,但是题目要求字典序最小,那我们在刚开始的时候先记录每个数的位置再排序,然后选出k个最大的数后在对位置从小到大排个序就行了(这题有个坑,第一次排序的时候记得 阅读全文
posted @ 2020-04-26 12:24 _Kolibri 阅读(222) 评论(0) 推荐(0)
摘要:题意:给你一个数组a,定义:若a[i]>a[i]&&a[i]>a[i-1],则a[i]为峰值,求长度为k的区间内峰值最多能为多少,并输出这个区间的左端点(区间需要将峰的左边和右边都包括) 题解:记录每个峰值,然后搞一个后缀和,从前往后枚举长度为k的区间,每次维护一下最多的峰值和区间位置即可. tip 阅读全文
posted @ 2020-04-25 00:01 _Kolibri 阅读(193) 评论(0) 推荐(0)
摘要:题意:给你一个长度为偶数n的数组,每次可以将一个元素修改为不大于k的值,要求每个a[i]+a[n-i+1]都相等,求最少操作多少次 题解:假设每一对的和都为sum,小的记为mn,大的记为mx; 枚举[2,2*k]的所有数x: 我们对每一对相应的数考虑,有三种情况:改一个数,改两个数,不改 1.改一个 阅读全文
posted @ 2020-04-22 12:42 _Kolibri 阅读(249) 评论(0) 推荐(0)
摘要:传送门:C. Linova and Kingdom 题意:给你一棵树,要求对k个结点涂色,然后统计每个未涂色结点到根结点的路径上未涂色结点的和,求和最大能为多少 题解:对着样例画几遍,然后贪心发现,最优解一定是当前结点的深度减去它的子结点个数大的来涂色,然后直接就建树进行dfs就行了,其实这道题可以 阅读全文
posted @ 2020-04-19 16:09 _Kolibri 阅读(171) 评论(0) 推荐(0)
摘要:A. Filling Diamonds 题意:给你n个菱形方块,问能构成图示形状的有多少种 题解:自己画几个不难发现答案是n 代码: 1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <cmath> 5 阅读全文
posted @ 2020-04-13 11:48 _Kolibri 阅读(127) 评论(0) 推荐(0)
摘要:A:Level Statistics 题意:统计n个游戏数据,p代表游玩次数,c代表通关次数,每次游玩都不一定通关,求这些数据是否合法 题解:1.游玩次数不能小于通关次数 2.游玩次数和通关次数必须单增 3.每次增加的游玩次数不能小于通关次数 代码: 1 #include <iostream> 2 阅读全文
posted @ 2020-04-12 16:09 _Kolibri 阅读(154) 评论(0) 推荐(0)
摘要:A. Little Artem Young boy Artem tries to paint a picture, and he asks his mother Medina to help him. Medina is very busy, that's why she asked for you 阅读全文
posted @ 2020-04-09 15:04 _Kolibri 阅读(273) 评论(0) 推荐(0)
摘要:You want to perform the combo on your opponent in one popular fighting game. The combo is the string ss consisting of nn lowercase Latin letters. To p 阅读全文
posted @ 2020-02-28 18:54 _Kolibri 阅读(222) 评论(0) 推荐(0)
摘要:题目: Returning back to problem solving, Gildong is now studying about palindromes. He learned that a palindrome is a string that is the same as its rev 阅读全文
posted @ 2020-02-20 01:11 _Kolibri 阅读(246) 评论(0) 推荐(0)

上一页 1 ··· 11 12 13 14 15