![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
还需思考
文章平均质量分 52
2020/3/16
这个作者很懒,什么都没留下…
展开
-
hdu-6301 Distinct Values
题目 题目:给m个区间[li,ri],要构造一个长度为n的串,每个区间内的数不能有相同的,且整个串的字典序最小 思路:记录每个区间的左端点,让右端点等于左端点,然后倒着维护一下,保证per[i-1]<=pre[i]。然后将每个区间可以放的数放在set中,从左到右填充即可。 #include <bits/stdc++.h> using namespace std; #def...原创 2018-07-26 10:12:48 · 236 阅读 · 0 评论 -
5727: 小奇遐想
题目链接 思路:树状数组,l[i]表示,表示 i 处结尾的长度为2的升序子序列种数(即正序对数量), r[i]表示表示, i 处为开头向后,长度为2的降序子序列数量(正序对数量) 12××:l[i]*C((n-i-r[i]),2); 1234:长度为三的升序子序列种数*(n-i-r[i]); 所以,1243=12××-1234; 参考源自这里 #include <st...原创 2018-07-29 20:40:01 · 195 阅读 · 0 评论 -
庭师的利刃
题目链接 就是求所有数两两与起来的最大值 #include <iostream> #include<cstdio> using namespace std; int a[1000005]; int main() { int n; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("...原创 2018-07-26 19:09:23 · 251 阅读 · 0 评论 -
5725: 小奇画画
题目链接 当某个圆被多个连续相切的小圆分成上下两部分时块数+2,其他情况块数+1。 上面的情况时最外面的圆被分成上下两部分所以+2,其他小圆每个+1,初始为1; 所以只需要判断有多少个+2的,最后再+圆的个数+1; 建图把每个大圆里直接包含的小圆建一条边,然后判断每个大圆直接相连的所有小圆的r的和是否等于大圆的r就可以 建图的话先按照左端点小到大排序,左端点相等的话按右端点大到小排序...原创 2018-07-30 10:59:41 · 205 阅读 · 0 评论 -
6604: Sandglass
题目链接 题目大意:给你一个沙漏(上下两部分),沙漏的总容量为x,开始时A在上,B在下,给你k个时间段,在每个时间段翻转一次,再给你q个问题,每个问题包括一个t和a,a表示开始时A中沙子的容量,问你t时刻A中沙子有多少? 思路:让low=0,up=x,用low和up维护A中沙子的最少容量和最大容量(防止出边界),用add记录到r[i]时间段时,A中沙子的变化量,因为题目保证0≤t1<t2...原创 2018-07-31 10:58:59 · 223 阅读 · 0 评论 -
凸包算法详解-Graham扫描法
凸包:给定二维平面上的点集,凸包就是将最外层的点连接起来构成的凸多边型,它能包含点集中所有的点。如图所示(图片来自wiki) 步骤: 1、先将点按从下向上,从左向右的顺序排序。排完序的第一个点,一定为凸包上的点,记为P0。 2,计算各个点相对于 P0 的幅角 α ,按从小到大的顺序对各个点排序。当 α 相同时,距离 P0 比较近的排在前面。我们由几何知识可以知道,结果中第一个点 P1 和...原创 2018-08-01 10:49:21 · 772 阅读 · 0 评论 -
ConvexScore
传送门 题意:给你n个点,n个点的一个子集s组成一个凸多边形,凸多边形的边界点及其内部点的个数为k,边界点的个数为s,这个凸多边形的权值为2^(k-s),求n个点形成的所有的凸多边形的权值和。 思路: 考虑一个凸 s边形,其内与其上共 k 个点,那么它对最后答案的贡献是2^(k-s)。这意味着什么呢?就是除去顶点以外的 k−s个顶点取不取的所有情况数。 取 0 个,取 1个,取若干个,取所...原创 2018-08-02 09:37:43 · 198 阅读 · 0 评论 -
expression in Memories
传送门 题意:给你一个字符串,让你变为:数字+(×)+数字+(×)数字…… 数字不能有前导零,开头或结尾不能有运算符 思路:先*0?-->*0+ +0?-->+0+ ?0-->+0 其余?变为1 再判断是否有前导零、运算符相邻、开头或结尾有运算符的情况 #include<bits/stdc++.h>...原创 2018-08-02 10:28:09 · 259 阅读 · 0 评论 -
NEW RDSP MODE I
传送门 题意:已知n、m、x,n表示有一个序列从1到n,m表示m次操作,每次操作为将偶数位置上的数按顺序拿出来放在序列的前面, x表示输出最终序列的前x个数 思路:找规律,每次操作都将x变为(x*2)%n,前提n为奇数,用快速幂求出第一位上的数,再依次求后面的 #include <stdio.h> #include <math.h> using namespace...原创 2018-08-03 10:22:52 · 173 阅读 · 0 评论 -
Flipping Coins
传送门 转自:https://www.cnblogs.com/LQLlulu/p/8886855.html(这篇博客写得真走心) 题意 有n个硬币排成一排,开始的时候所有的硬币都是正面朝下,你必须要扔K次硬币,每次选择一个硬币,问K次以后朝上的硬币数的最大期望是多少? 思路:期望值最大,则每次选择正面朝下的硬币仍 ——————————————————————————————————————...转载 2018-08-29 19:59:28 · 323 阅读 · 0 评论 -
经营与开发
题目:http://exam.upc.edu.cn/problem.php?id=5500&csrf=oblCjcydRSDajHqeVcFWEOpHA4jhISYF 思路:用ans储存金钱总量,假设已知在哪开采在哪不开采,k=(1-0.01k) ans=w*a[1]+w*k*a[2]+w*k^2*a[3]+...+w*k^(n-2)*a[n-1]+w*k^(n-1)*a[n] =w...原创 2018-07-25 16:22:11 · 210 阅读 · 0 评论 -
5502: 打地鼠游戏
题目:http://exam.upc.edu.cn/problem.php?id=5502 思路:先按小鼠出现的时间从小到大排序,用nt记录消耗的时间,当小鼠停留的时间大于nt时,将价值加到总价值上去,否则,用此小鼠的价值和已经加上去的小鼠的最小价值比较,判断是否加上它。用优先队列,因为优先队列默认从大到小排序,所以要将小鼠价值的负值加到队列中。 #include<stdio.h>...原创 2018-07-25 14:29:08 · 257 阅读 · 0 评论 -
Transit Tree Path
http://exam.upc.edu.cn/problem.php?id=6690 题意:已知一棵无向树有n个点,n-1条边,现给你m个问题和一个点k,每个问题包括两个点x和y,问从结点x到结点y经过结点k的最短路径。 思路:因为是树,所以每个点都连通。结点x和y通过结点k的最短路径可以分成两部分:结点k到x的最短路径和结点k到y的最短路径。如此,通过一个简单的DFS,求解结点k到i(1≤i...原创 2018-07-24 18:57:15 · 262 阅读 · 0 评论 -
畅通工程
畅通工程 http://acm.hdu.edu.cn/showproblem.php?pid=1863 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 33927 Accepted Submission(s): 15013原创 2018-01-27 10:51:53 · 224 阅读 · 0 评论 -
殴几里德算法和扩展殴几里德
1.欧几里德算法的思想: 欧几里德算法的思想基于辗转相除法的原理,辗转相除法是欧几里德算法的核心思想,欧几里德算法说白了其实就是辗转相除法的计算机算法的实现而已。下面我们先说说辗转相除法,辗转相除法的内容:如果用gcd(a,b)来表示a和b的最大公约数,那么根据辗转相除法的原理,有gcd(a,b)=gcd(b,a mod (b)),其中mod()表示模运算,并且不妨让a>b,这样方便于模运...原创 2018-04-23 21:03:39 · 352 阅读 · 0 评论 -
低价购买
题目描述 点击打开链接 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则。要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买;再低价购买”。每次你购买一支股票,你必须用低于你上次购买它的价格购买它。买的次数越多越好!你的目标是在遵循以上建议的前提下,求你最多能购买股票的次数。你将被给出一段时间内一支股票每天的出售价(216范围内的正整数),你可以选择在哪些天购买这支股票。原创 2018-03-06 18:23:59 · 166 阅读 · 0 评论 -
垃圾陷阱
1823: 垃圾陷阱 时间限制: 1 Sec 内存限制: 128 MB 提交: 80 解决: 40 [提交][状态][讨论版] 题目描述 卡门——农夫约翰极其珍视的一条Holsteins奶牛——已经落了到“垃圾井”中。“垃圾井”是农夫们扔垃圾的地方,它的深度为D (2 卡门想把垃圾堆起来,等到堆得与井同样高时,她就能逃出井外了。另外,卡门可以通过吃一些垃圾来维持自己的生命。 每原创 2018-03-08 19:40:14 · 429 阅读 · 0 评论 -
素数筛选
#include #include #include #include #include #include #include using namespace std; int a[200],vis[200]; #define n 200 int main() { int i,j; memset(vis,0,sizeof(vis)); for(i=2;i<=sqrt(原创 2018-01-28 08:56:51 · 155 阅读 · 0 评论 -
小李打怪兽
题目描述 点击打开链接 小李对故乡的思念全部化作了对雾霾天气的怨念,这引起了掌控雾霾的邪神的极大不满,邪神派去了一只小怪兽去对付小李,由于这只怪兽拥有极高的IQ,它觉得直接消灭小李太没有难度了,它决定要和小李在智力水平上一较高下。我们可否帮助小李来战胜强大的怪兽呢? 问题是这样的:给定一堆正整数,要求你分成两堆,两堆数的和分别为S1和S2,谁分的方案使得S1*S1-S2*S2的原创 2018-03-09 20:34:48 · 1185 阅读 · 0 评论 -
回文数
题目描述 点击打开链接 若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。 例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。 又如:对于10进制数87: STEP1:87+78 = 165 STEP2:165+561 = 726 STEP3:726+627 = 1353 STEP4:1353+3531 = 48原创 2018-03-12 17:25:22 · 371 阅读 · 0 评论 -
关押罪犯
题目描述 点击打开链接 S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为c的冲突事件。 每年年原创 2018-03-23 17:38:55 · 274 阅读 · 0 评论 -
A - 口算训练
点击打开链接小Q非常喜欢数学,但是他的口算能力非常弱。因此他找到了小T,给了小T一个长度为n的正整数序列a1,a2,...,an,要求小T抛出m个问题以训练他的口算能力。 每个问题给出三个正整数l,r,d,小Q需要通过口算快速判断al×al+1×...×ar−1×ar是不是d的倍数。 小Q迅速地回答了出来,但是小T并不知道正确答案是什么,请写一个程序帮助小T计算这些问题的正确答案。 ...原创 2018-06-05 10:41:45 · 836 阅读 · 0 评论 -
B - 缺失的数据范围
点击打开链接著名出题人小Q出过非常多的题目,在这个漫长的过程中他发现,确定题目的数据范围是非常痛苦的一件事。 每当思考完一道题目的时间效率,小Q就需要结合时限以及评测机配置来设置合理的数据范围。 因为确定数据范围是一件痛苦的事,小Q出了非常多的题目之后,都没有它们设置数据范围。对于一道题目,小Q会告诉你他的算法的时间复杂度为O(nalogbn),且蕴含在这个大O记号下的常数为1。同时,小Q还会...原创 2018-06-05 12:05:51 · 346 阅读 · 0 评论 -
调酒壶里的酸奶
原题链接 问题 C: 调酒壶里的酸奶 时间限制: 1 Sec内存限制: 128 MB 提交: 346解决: 125 [提交] [状态] [命题人:外部导入] 题目描述 最近小w学了一手调酒的技巧,这么帅的操作,说不定能靠这个俘获女神的芳心,为了在女神面前露一手,他想在学校里建一个"pub",但是显然学校不可能让他真的建一个"pub",那么他退而求次,想建一个"Yogurt sh...原创 2019-04-04 20:53:57 · 333 阅读 · 0 评论