
=====思维=====
Qingo呀
老菜鸡。
展开
-
石油大 2020年秋季组队训练赛第二十五场 问题 C: Dessert Café (思维)
题意:给你n个点的树,边权为距离,然后给出k个特殊的点。现在要找的是点p,对于点p,有一个特殊点z,除了p和z之外的任何点x,d(p,z)<d(x,z);而对于点z,又存在一个特殊的点z1,d(p,z1)<d(z,z1)。问这样的点p有多少个?思路:其实就是k个特殊点中,任意两点之间路径之间的个数(包含这k个特殊点)。因为是树,从一个特殊点开始dfs,看看其子树中有无特殊点即可。#include <bits/stdc++.h>#define ll lo...原创 2020-12-08 16:46:16 · 702 阅读 · 0 评论 -
LeetCode 每日一题 321. 拼接最大数(dp或单调栈)
题链:https://leetcode-cn.com/problems/create-maximum-number/我的思路(超时):力扣有的题没有数据范围,这是很烦的,但是我dp弱,记录一下吧。dp[i][j][k]代表第一个数组的前i个数,第二个数组的前j个数拼接成k个数的序列的最大值。转移方程:dp[i][j][k]=max{ dp[i-1][j-1][k] ,dp[i-1][j][k-1]+a[i-1] ,dp[i][j-1][k-1]+b[j-1]} (PS:i-1,j-1是因为我..原创 2020-12-02 20:30:09 · 313 阅读 · 0 评论 -
LeetCode 每日一题 767. 重构字符串 (优先队列+贪心)
题链:https://leetcode-cn.com/problems/reorganize-string/我的思路:我考虑的是插空法。首先,按插空法,假设一个字母出现的次数为k,那么我们需要k-1个其他字母将他们分开,所以如果一个字母出现次数n-k>k-1,否则就无法重构。贪心策略就是每次弹出出现次数最多的字母a(假设有k个)。首先用掉一个,剩下k-1个,每一个之前都放一个当前优先队列中出现次数最多的字符b,如果b还有再将它放入队列。struct node{ int pos,num原创 2020-11-30 15:35:30 · 207 阅读 · 0 评论 -
LeetCode 每日一题 406. 根据身高重建队列
题链:https://leetcode-cn.com/problems/queue-reconstruction-by-height/我的思路:按身高从小到大排序,相等则按k从小到大。每次按k找到他应该在的位置即可,首先他前面的都对他产生影响,减去这些影响后,就是他应该在的位置(第几个空位),注意身高相等的对他的影响。时间O(n^2).class Solution {public: struct node{ int h,k; }b[1110]; sta原创 2020-11-28 21:13:08 · 231 阅读 · 0 评论 -
LeetCode 每日一题 122. 买卖股票的最佳时机 II (思维)
题链:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock-ii/思路:涨了就卖,跌了啥也不干。(这里巧妙的运用了 a[i]-a[i-2]=a[i]-a[i-1]+a[i-1]-a[i-2])。class Solution {public: int maxProfit(vector<int>& a) { int ans=0,now=0; for(int i=1;i<a.si原创 2020-11-28 20:53:42 · 147 阅读 · 0 评论 -
QDU校内排位赛第三场 D 于老师发生什么事了 (字典树+逆序对)
题链:https://pintia.cn/problem-sets/1330210570443206656/problems/1330211663055204354题目:思路1:字典树思想,插入一个数时,如果当前这一位是0,那么,之前插入的这一位是1的数都与他构成逆序对。插入时,统计一下每一位为1的数量即可。#include <bits/stdc++.h>#define ll long longusing namespace std;const int N = 2e7原创 2020-11-25 11:19:34 · 142 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)A All-one Matrices(单调栈+前缀和+思维)
链接:https://ac.nowcoder.com/acm/contest/888/A题意:给出一个只含'0'或'1'的n*m的矩阵。求有多少个全是'1'的极大子矩阵。思路:预处理每一行中每一列连续1的高度(h[i][j]表示从第i行第j列开始向上有多少个连续的1。)和每一行每一列中1的前缀和(sum[i][j]表示第i行前j个数有多少个1)。枚举每一行,用单调栈维护每一列的作用范围,最...原创 2019-08-11 16:54:40 · 137 阅读 · 0 评论 -
Finding Seats HDU - 1937 (思维+尺取)
A group of K friends is going to see a movie. However, they are too late to get good tickets, so they are looking for a good way to sit all nearby. Since they are all science students, they decided to...原创 2018-07-27 21:15:16 · 203 阅读 · 0 评论 -
牛客小白月赛11 I-Rinne Loves Xor(思维)
官方题解:Ci=∑i=1n∑j=1nAi^Bj(这个好推)看到二进制异或就可以想一下是否可以按位处理。我们考虑异或运算会造成贡献的唯一可能就是当前位上的二进制数字不相同,那么对于每一位,贡献就是A 第 j 位出现 1 的次数 * B 第 j 位出现 0 的次数 +B 第 j 位出现 1 的次数*A 第 j 位出现 0 的次数。 (乘法原理)最后按照这一位对总答案的贡献统计一下就可...原创 2019-02-10 17:04:57 · 255 阅读 · 0 评论 -
牛客上海高校程序设计竞赛 E CSL 的魔法(思维)
链接:https://ac.nowcoder.com/acm/contest/551/E来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld题目描述有两个长度为 n 的序列,a0,a1,…,an−1和 b0,b1,…,bn−1。CSL 有一种魔法,每执行一次魔法,可以任意挑选一个序列...原创 2019-04-01 19:04:44 · 214 阅读 · 0 评论 -
牛客上海高校程序设计竞赛 H CSL 的拼图(思维)
链接:https://ac.nowcoder.com/acm/contest/551/H来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 524288K,其他语言1048576K64bit IO Format: %lld(思路:和这套题的E题一个套路,多了一个哈希(也就是编号)处理。https://blog.youkuaiyun.com/birdmanqin/arti...原创 2019-04-01 21:10:09 · 191 阅读 · 0 评论 -
杭电2019多校第七场 Kejin Player(期望+前缀)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6656题意:T组样例。从i升到i+1级时,有si/ri=pi的概率升级成功花费为ai;有1-pi的概率升级失败,掉回xi级。q组询问,每次输出从l级升到r级的期望。思路;因为必须一级一级的升级,显然,可以用前缀。设代表从第1级升到i级的期望。那么从第i级升到i+1级,可以列出式子:,两部分为升级...原创 2019-08-12 21:29:45 · 174 阅读 · 0 评论 -
杭电2019多校第九场 HDU-6685 Rikka with Coin(思维+暴力)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6685题意:T组样例,每组样例会给出n个数,现在你有无穷多的10、20、50、100的硬币,问最少带多少硬币,可以这n个数都可以凑出来。如果不能输出-1。思路:首先,如果不能整除10,肯定就是-1。比赛时,思路是分类讨论,零头也就是10、20、30、40、50、50+10、50+20、50+30、5...原创 2019-08-20 10:13:05 · 223 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)B Beauty Values(贡献+思维)
链接:https://ac.nowcoder.com/acm/contest/888/B题意:n个数。求所有子区间中不同数个数的和。思路:考虑每个数(x)所能贡献的区间的个数。这个区间的左端点可以是[pre[x]+1,i-1]中的任意一个数,而右端点可以是[i,n]中的任意一个数,所以每个数的贡献则是(i-pre[x])*(n-i+1)。#include <bits/stdc+...原创 2019-08-11 17:11:47 · 145 阅读 · 0 评论 -
2019牛客暑期多校训练营(第八场)G Gemstones(栈)
链接:https://ac.nowcoder.com/acm/contest/888/G题意:给出一个字符串,每次操作可去除连续3个相同的字母,问最多可以进行多少操作。思路:用栈储存字母,如果栈顶的3个元素相同就删去。#include <bits/stdc++.h>#define ll long long using namespace std;const int ...原创 2019-08-11 17:43:15 · 121 阅读 · 0 评论 -
POJ - 3347 Kadj Squares (思维)
链接:https://cn.vjudge.net/problem/POJ-3347题意:给出n个正方形,把正方形按顺序放进第一象限中并且正方形的两底边与x轴成45度角。尽可能让正方形紧挨着放。问俯视时,最后哪几个正方形不会被完全遮挡。思路:如果所有边长都扩大倍,那么正方形的对角线也就是2倍的边长,这样就避免了精度问题。然后,每次放正方形(i)时,都遍历一遍前面放好的正方形(j)。计算i与j...原创 2019-08-24 20:26:44 · 163 阅读 · 0 评论 -
石油大 2019年我能变强组队训练赛第六场 B: Tournament Chart(dfs+栈)(递归)
链接:http://icpc.upc.edu.cn/problem.php?cid=1812&pid=1题意:给出一个比赛安排表格,以及每个队伍赢的场次,问这n歌队伍赢的次数是否和表格相符。思路:把每个队伍赢的次数记下来,然后搜索模拟比赛,看看他们赢的场次是否满足这个表。每次传入l和r,代表若干比赛的左端点和右端点,由于表的特征,我们只要找到中间的分界“-”,然后向左向右递归判断即...原创 2019-08-20 20:09:24 · 174 阅读 · 0 评论 -
石油大 2019年我能变强组队训练赛第六场 C Prime-Factor Prime(质数处理合数)
链接:http://icpc.upc.edu.cn/problem.php?cid=1812&pid=2题意:给出l、r,问[l,r]之内有多少数,该数质因子的总数也是质数,注意r-l<1e6。(12=2*2*3,质因子的总数为3,符合。)思路:把1e5 内的质数筛出来,然后用这些质数计算[l,r]内数的质因子个数,最后再统计答案即可。看似会超时,其实不会。以前见过类似思想的...原创 2019-08-20 20:22:21 · 158 阅读 · 0 评论 -
HDU - 4635 Strongly connected (强连通分量+思维)
链接:https://cn.vjudge.net/problem/HDU-4635题意:给你一个有向简单图,问最多加多少边,加完之后该图仍不是强连通分量。如果已经是则输出-1。思路:肯定是加到再加一条边就变成强连通分量为止。现在考虑怎么使加的边尽可能的多,也就是加完边后,边的总数尽可能的大。那么,最终的图肯定是在两个完全图之间,再加一些边组成。假设现在两个完全图的点数分别为x,y。可以得到...原创 2019-08-16 10:51:31 · 250 阅读 · 0 评论 -
HDU-6705 path(贪心+思维)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6705题意:求一个有向有权图中,第k短的路径。思路:用小顶堆维护路径权值,每次扩展从上一个点到当前点的下一条边和由当前点出去的最小的一条边即可。官方题解:先把每条边以 形式放进堆,堆按路径权值从小到大排序,然后每次取出堆顶,用v的出边扩展新的路径。但是一个点的出度可能会非常大(如菊花图),可以...原创 2019-08-25 22:01:48 · 213 阅读 · 0 评论 -
HDU - 4685 Prince and Princess (构造完美匹配+强连通分量)
链接:https://cn.vjudge.net/problem/HDU-4685题意:T组样例。有n个王子和n个公主,每个王子都有若干个喜欢的公主,王子需要娶喜欢的公主,一个王子只能娶一个公主。输出对于每个王子,他可以娶的公主的编号的集合。王子娶这个集合的任一个公主,其他王子与公主的最大匹配数不变。思路:这道题和poj1904https://blog.youkuaiyun.com/birdmanqi...原创 2019-08-16 11:56:03 · 276 阅读 · 0 评论 -
2019牛客暑期多校训练营(第十场)F Popping Balloons(思维)
链接:https://ac.nowcoder.com/acm/contest/890/F题意:n个气球,横着打3枪竖着打3枪(横着打的相邻两枪之间的间隔和竖着打的相邻两枪间隔都要等于r。)。求最多能打多少气球。同一个位置可能有多个气球。思路:求出横着打和竖着打所有结果,按个数从大到小排序,最大值肯定就从前几大的打法中组合出,这里我取的前4大,总共16种情况。cometoj有道题和这道有类似...原创 2019-08-18 15:00:45 · 218 阅读 · 0 评论 -
杭电2019多校第十场 HDU-6701 Make Rounddog Happy(单调栈+枚举)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6701题意:求区间内数各不相同并且max(al,al+1,…,ar)−(r−l+1)≤k的区间的个数。思路:当时读题忽略了区间内数各不相同这个条件,想着不就是单调栈加简单的组合数学吗?后来,写完样例不对才发现。。。。然后就想求出某一个数为终点的最长不重复区间和一某个数为起点的最长不重复区间,再和单调...原创 2019-08-22 22:24:28 · 199 阅读 · 0 评论 -
CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019) H 分配学号 (思维+连乘)
链接:https://www.cometoj.com/contest/59/problem/H?problem_id=2679题意:给出n,接下来一行n个数,代表每个学生的初始学号。现在让修改某些学生的学号,使得每个学生的学号不同。要求修改后的学号只能大于等于初始的学号,并且要求学号的变化和最小。思路:显然,要先排序,然后一个区间一个区间的处理学号。先找出一个区间起点l,然后从l+1开始往...原创 2019-07-28 20:12:12 · 282 阅读 · 0 评论 -
杭电2019多校第四场 HDU-6616 Divide the Stones (构造+思维)
链接:http://acm.hdu.edu.cn/showproblem.php?pid=6616题意:T组样例,每组样例给出n和k(保证k是n的因子)。有n堆石子,第i堆有i个石子。问能否把这n堆石子分成k组,并且每组的石子和相等。(不能把某一堆的石子拿到另一堆)能就是输出"yes",并输出方案,没有就输出"no"。思路:显然,总共有 1+2+....+n=n*(n+1)/2=m个石子。...原创 2019-08-01 21:23:23 · 242 阅读 · 0 评论 -
Contest1786 - 2019年第二阶段我要变强个人训练赛第十场 A: Kenken Race(思维)
时间限制: 1 Sec内存限制: 128 MB提交: 226解决: 37[提交] [状态] [命题人:admin]题目描述There are N squares arranged in a row, numbered 1,2,...,N from left to right. You are given a string S of length N consisting of ...原创 2019-07-04 09:44:23 · 289 阅读 · 0 评论 -
石油大 Contest1786 - 2019年第二阶段我要变强个人训练赛第十场 B ABC(思维)
时间限制:1 Sec内存限制:128 MB提交:226解决:42[提交] [状态] [命题人:admin]题目描述You are given a string s consisting of A, B and C.Snuke wants to perform the following operation on s as many times as possible:...原创 2019-07-03 15:38:51 · 134 阅读 · 0 评论 -
HDU - 4790 Just Random (容斥定理+分析)
Coach Pang and Uncle Yang both love numbers. Every morning they play a game with number together. In each game the following will be done: 1. Coach Pang randomly choose a integer x in [a, b] with ...原创 2019-07-02 11:31:46 · 203 阅读 · 0 评论 -
POJ - 1419 Graph Coloring (dfs)
You are to write a program that tries to find an optimal coloring for a given graph. Colors are applied to the nodes of the graph and the only available colors are black and white. The coloring of the...原创 2019-05-20 21:35:20 · 137 阅读 · 2 评论 -
CodeForces - 121A Lucky Sum(dfs)
Petya loves lucky numbers. Everybody knows that lucky numbers are positive integers whose decimal representation contains only the lucky digits 4 and 7. For example, numbers 47, 744, 4 are lucky and 5...原创 2019-05-19 21:27:57 · 188 阅读 · 2 评论 -
HDU 1728逃离迷宫 (dfs+剪枝)
给定一个m × n (m行, n列)的迷宫,迷宫中有两个位置,gloria想从迷宫的一个位置走到另外一个位置,当然迷宫中有些地方是空地,gloria可以穿越,有些地方是障碍,她必须绕行,从迷宫的一个位置,只能走到与它相邻的4个位置中,当然在行走过程中,gloria不能走到迷宫外面去。令人头痛的是,gloria是个没什么方向感的人,因此,她在行走过程中,不能转太多弯了,否则她会晕倒的。我们假定给...原创 2019-05-08 17:19:13 · 432 阅读 · 0 评论 -
HDU 5938 Four Operations(贪心+思维)
Little Ruins is a studious boy, recently he learned the four operations!Now he want to use four operations to generate a number, he takes a string which only contains digits '1' - '9', and split it i...原创 2019-04-29 15:08:46 · 370 阅读 · 0 评论 -
2018ccpc吉林 E: THE TOWER (公式)
问题 E: THE TOWER时间限制: 1 Sec内存限制: 128 MBSpecial Judge提交: 222解决: 30[提交] [状态] [命题人:admin]题目描述The Tower shows atall tower perched on the top of a rocky mountain. Lightning strikes, setting th...原创 2019-05-03 19:13:15 · 942 阅读 · 2 评论 -
2018ccpc吉林 A:THE FOOL(打表找规律)
问题 A: THE FOOL时间限制:1 Sec内存限制:128 MB提交:255解决:107[提交] [状态] [命题人:admin]题目描述The Fool is numbered 0 the number of unlimited potential -and therefore does not have a specific place in the se...原创 2019-05-03 17:36:04 · 1071 阅读 · 0 评论 -
hdu 6514 Monitor(二维差分区间+哈希)
Time Limit: 6000/3000 MS (Java/Others)Memory Limit: 163840/163840 K (Java/Others)Total Submission(s): 514Accepted Submission(s): 160Problem DescriptionXiaoteng has a large area of land ...原创 2019-04-21 16:28:22 · 174 阅读 · 0 评论 -
Codeforces Round #571 (Div. 2) D Vus the Cossack and Numbers (思维)
D. Vus the Cossack and Numberstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputVus the Cossack has n real numbers ai. It is known ...原创 2019-06-29 19:19:51 · 442 阅读 · 0 评论 -
Contest1788 - 2019年第二阶段我要变强个人训练赛第十一场 F: 小L的疑惑(思维)
问题 F: 小L的疑惑时间限制: 1 Sec内存限制: 128 MB提交: 106解决: 50[提交] [状态] [命题人:admin]题目描述小D:“不管了,都是小L的错!”小D有n个数{P1, P2 ,……,Pn },他可以选出其中的一些数,将选出的数加起来后得到一个数a,这个数a被称为小D的幸运数。由于种种原因,小L想刁难一下小D,他想要知道最小的不是幸运数的正整...原创 2019-07-10 15:56:20 · 169 阅读 · 0 评论 -
2019牛客暑期多校训练营(第四场)K number(思维)
链接:https://ac.nowcoder.com/acm/contest/884/K题意:给你一个全由数字字符组成的字符串,求出是300倍数的子串的个。0,00都算,并考虑前导零的情况。思路:遍历一遍每次计算%3的值,如果本位和后一位都是0,把之前统计的num[mo]的个数加上,思想和https://blog.youkuaiyun.com/birdmanqin/article/details/97...原创 2019-07-28 12:58:44 · 505 阅读 · 0 评论 -
2019牛客暑期多校训练营(第四场)D triples I(构造+思维)
链接:https://ac.nowcoder.com/acm/contest/884/D题意:T组样例。每组样例给出一个a(1<=a<=1e18),让用尽可能少的3的倍数,使这些数按位或起来的值为a。题目保证输入的a一定有答案。思路:既然是按位或,那么肯定和二进制有关。显然,一个数的二进制中,奇数位上的1%3=1,偶数位上的1%3=2。那么我们就统计奇数位,偶数位上的个数并用数...原创 2019-07-28 12:28:30 · 139 阅读 · 0 评论 -
2019牛客暑期多校训练营(第六场)E Androgynos(构造+思维+图的同构)
链接:https://ac.nowcoder.com/acm/contest/886/E题意:T组样例。每组样例给一个n,问能否构造一个图,使得其和其补图同构。能就输出“Yes”,并输出图的邻接矩阵和同构的映射函数,不能就输出“No”。思路:图同构的必要条件为点的个数和边的个数都相同。显然,点数肯定相同,一个图和其补图合起来,就是n个点组成的n阶完全图,所以总边数为(n-1)*n/2。那么...原创 2019-08-05 10:40:28 · 277 阅读 · 0 评论