题解
r11111se
这个作者很懒,什么都没留下…
展开
-
Continuous Intervals(单调栈+线段树)
单调栈+线段树的好题原创 2022-11-15 20:22:00 · 125 阅读 · 1 评论 -
Get The Treasury(HDU--3642) 线段树+扫描线问题
这道题唯一的一个难点应该就是如何去处理三维情况下的扫描线 这里其实我们可以这样想:先以Z轴为扫描线,然后我们单独考虑在此情况下的那个平面的样子,然后我们就可以将这个问题处理成了二维的面积相交问题。 但其实还是挺不好写的(主要还是我太菜了) 我们可以慢慢的理一下思路 首先我们可以想到这个线段树的pushdown操作其实是不需要的,因为每次查询的时候我们只需要知道根节点(整棵树)的情况即可,所以pushdown可以不用写了。 然后我们可以考虑一下题中给的数据范围,x和y的范围均为[-1e6,1e6],但是我们可原创 2022-04-27 17:27:59 · 108 阅读 · 0 评论 -
Codeforces Round #723 (Div. 2) C. Potions(两道一个代码)
题目链接 题目大意: 给你n个瓶饮料,每个饮料有一个值,喝下去生命值会增加该值,让你从左到右依次,对待每个饮料有两种选择,喝or不喝,与此同时,要保证生命值在是、任何时期为非负数。 刚开始觉得这道题要用dp,(奈何本菜鸡不会dp),又看到了其他大佬优先队列的思路,然后自己写了一下,A了。 这里补充一下优先队列的知识: 大佬的csdn 和队列基本操作相同: top 访问队头元素 empty 队列是否为空 size 返回队列内元素个数 push 插入元素到队尾 (并排序) emplace 原地构造一个元素并插原创 2021-05-31 11:09:52 · 116 阅读 · 0 评论 -
Sifid and Strange Subsequences
Codeforces Round #722 (Div. 2) B. Sifid and Strange Subsequences 题目链接 题目大意:给定你n个数,让你求一个最长子序列满足其中任意两个数的绝对差,均大于该子序列的最大值; 思路:贪心,该子序列最多只能有一个正数,并且判断0的个数; 第一种情况:0的个数小于等于1,此时允许正数存在,所以查找距离非正数最近的哪一个数,并且判断之后是否存在两个数的的绝对差小于该整数,如果存在则删除该正数。 第二种情况:0的个数大于1,此时不能存在正数,所以只需求小原创 2021-05-26 22:54:16 · 309 阅读 · 0 评论 -
AcWing 3489. 星期几(基姆拉尔森公式)
公式描述:week= (d+2mon+3(mon+1)/5+y+y/4-y/100+y/400+1)%7,其中d表示某一天,mon表示某一个月,y表示某一年,其中若月份位一月或二月的时候,可看作上一年的十三十四月(玄学的力量)。 题目链接 #include<iostream> #include<string.h> #include<algorithm> #include<stdio.h> #include<cmath> #include<qu原创 2021-05-18 11:06:11 · 68 阅读 · 0 评论 -
Educational Codeforces Round 109 (Rated for Div. 2) B. Permutation Sort(挺有意思)
题目链接 题目大意:给你n个数,你每次可以选任意一个连续的子段(不能是整个数列)将其中的数字按任意顺序排序,求将这n个数排序成为单调递增序列的最小次数。 思路:用贪心就行,每次更改最长的连续子段; #include<iostream> #include<string.h> #include<algorithm> #include<stdio.h> #include<cmath> #pragma comment(linker, "/STACK:102原创 2021-05-17 15:13:44 · 75 阅读 · 0 评论