![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
HDU
Sqwlly
有自己热爱的东西,真好。
展开
-
2018CCPC网络预选赛1001(hdu6348) 贪心+优先队列
Buy and Resell问题分析题意:有nnn个村庄,每经过一个村庄你有以下三个选择 1. 买能量块 2. 卖能量块 3. 什么也不做 求最后可以获得的最大利润,并且尽可能减少交易次数。我们可以准着低买高卖的原则,用一个小顶堆维护我们交易过的能量块。 只要当前能量块iii的价格高于我们之前买来的能量块jjj的价格,我们就可以将其卖出去,并且一定是获利的,但是这样做...原创 2018-08-26 19:19:57 · 458 阅读 · 0 评论 -
2018CCPC网络预选赛1010(hdu6447) dp+树状数组+离散化
YJJ’s Salesman问题分析题意:从(0,0)(0,0)(0,0)到(109,109)(109,109)(10^9,10^9),每次只能往(x+1,y),(x+1,y+1),(x,y+1)(x+1,y),(x+1,y+1),(x,y+1)(x+1,y),(x+1,y+1),(x,y+1)三个方向走,期间有nnn个村庄,只有当从(x−1,y−1)(x−1,y−1)(x-1,y-1...原创 2018-08-27 10:53:04 · 312 阅读 · 0 评论 -
2018CCPC网络预选赛1007(hdu6444) 单调队列
Neko’s loop问题分析题意:给一个元素个数为nnn的环,选定任意一个起点iii后,每次可以往前跳(i+k)%n(i+k)%n(i+k)\%n,然后会相应得到aiaia_i的收益,问跳mmm次后总收益可以达到sss(可以提前停止),在开始之前至少需要身上需要有多少收益。显然这样选定一个起点后不断往前跳,所获得的aiaia_i会形成一个环。那么我们就可以把所有环找出来,通过枚举...原创 2018-08-30 14:07:01 · 304 阅读 · 0 评论 -
HDU5661 Claris and XOR(异或贪心)
Claris and XOR题解:考虑异或的性质,肯定是尽量让x和y满足以下两种情况:xxx第iii位为111,yyy第iii位为000xxx第iii位为000,yyy第iii位为111但是要考虑第三种种情况,以上两种情况都满足不了时,第iii位同时为111,此时我们应该也算上,不然对于判断后面低位的时候会有影响。因此我们直接考虑枚举二进制位即可。至于判断的时候,我们去看在x+(1&...原创 2018-10-14 13:47:52 · 220 阅读 · 0 评论 -
HDU 5037 Frog(贪心)
Frog题解:模拟肯定是不能模拟的了,就考虑怎样放石头才能让青蛙跳的次数尽量多了。能想到的只有在L+1L+1L+1的长度内最多跳两次,所以我们就去尽可能构造L+1L+1L+1。如果当前石头距离上一次石头的距离大于LLL,那么就需要单独再跳一次,否则就可以归到上一次跳跃。代码#include<bits/stdc++.h>using namespace std;int n,...原创 2018-10-14 21:45:39 · 133 阅读 · 0 评论 -
HDU5128The E-pang Palace(计算几何暴力枚举)
The E-pang Palace题解:预处理出所有矩形,然后枚举满足情况的两两矩形即可。因为是矩形,所以我们只需要存对角的两个点即可。就是要注意嵌套也是满足的。代码#include<bits/stdc++.h>using namespace std;struct Point{ int x,y; Point() {} Point(int _x,int _y) { x...原创 2018-10-14 23:01:59 · 154 阅读 · 0 评论 -
HDU 4310 HERO(贪心)
HERO题解:优先打hpdps\frac{hp}{dps}dpshp小的,排个序即可。代码#include<bits/stdc++.h>using namespace std;struct node{ int dps,hp; bool operator < (const node & u)const{ if(1.0 * hp / dps == 1...原创 2018-10-14 23:17:25 · 127 阅读 · 0 评论 -
HDU2037 今年暑假不AC(贪心)
今年暑假不AC题解:准着贪心原则,越早结束的尽量先看。因此对结束时间排序,如果下一个节目的开始时间要大于当前节目的结束时间,那说明可以看一个节目。代码#include<bits/stdc++.h>using namespace std;struct tv{ int l,r; bool operator < (const tv & u)const{ r...原创 2018-10-14 23:27:20 · 183 阅读 · 0 评论 -
HDU 5521 Meeting(虚点建图)
Meeting题意:从111到nnn有mmm处具有sss个点的点集合,每个集合任意两点的距离为ttt,问两人同时分别从111和nnn出发,要相遇的最短的距离是多少并输出相遇点,如果有多个答案按升序输出。题解:真是又涨知识了…对于每个集合增加一个虚点,集合里的每个点向这个虚点建一条距离为t/2t/2t/2的边,这样就保持了原集合任意两点的距离不变。然后以111为源点跑一次最短路,以nnn为源点跑...原创 2018-10-18 22:37:28 · 208 阅读 · 0 评论 -
HDU 5821 Ball(贪心)
Ball题解:首先贪心的去把aaa数组对应到bbb数组的位置,然后每次操作就相当于对小球升序排序,让其更接近应该在等等位置,最后看一下最后的位置是不是到位了即可。代码#include<bits/stdc++.h>using namespace std;pair<int,int> a[1011];int main(){#ifndef ONLINE_JUDGE...原创 2018-10-21 20:05:57 · 244 阅读 · 0 评论 -
HDU 5988 Coding Contest(最小费用最大流)
Coding Contest题意:nnn个区域,每个区域有一些食物和人,mmm条有向路径,每条路径有人数上限,第一个通过的人不会触电,之后通过的人有p%p\%p%的概率触电,求所有人都获取到食物触电的最小概率。题解:转换为求不会触电的最大概率。但是呢,我们在费用流里都是通过相加得到的结果,所以有没有将乘法变为加法的方法呢?没错,就是logloglog,取个log就变成了加法。对于uuu到vvv...原创 2018-10-21 21:11:19 · 170 阅读 · 0 评论 -
HDU 6033 Add More Zero(思维取对数)
Add More Zero题解:水题,取logloglog即可。代码import java.util.Scanner;public class Main { public static void main(String[]args){ Scanner in = new Scanner(System.in); int t = 1; ...原创 2018-10-22 00:29:37 · 170 阅读 · 0 评论 -
HDU 5353 Average(贪心)
Average题解:首先如果总糖果数不能整除nnn就输出NONONO。其次考虑两个方向变为暂时只朝一个方向,每个人与平均值的差,如果比平均值少一就从后一个人那里拿一个,如果比平均值多一个就给后一个人一个,如果等于平均值就什么也不做。因此枚举左右方向两次,最后每次枚举模拟完判断一下是否最后平分了就可以了。#include<bits/stdc++.h>typedef long lon...原创 2018-11-06 22:37:00 · 187 阅读 · 0 评论 -
HDU 1215 七夕节(约数之和)
七夕节题解:一句话。。考虑每个数对于每个数约数和的贡献即可。即反过来思考,想一下每个数作为因子在哪些数里出现了。代码#include<bits/stdc++.h>using namespace std;const int N = 500100;int a[N];int main(){#ifndef ONLINE_JUDGE freopen("input.i...原创 2018-12-11 01:16:18 · 200 阅读 · 0 评论 -
HDOJ 2669 Romantic(扩展欧里几得)
Romantic题解:太裸了。。求exgcdexgcdexgcd最小正整数解代码#include<bits/stdc++.h>using namespace std;typedef long long LL;void exgcd(LL a,LL b,LL &x,LL &y, LL &d) { if(b == 0) { x = 1, y =...原创 2018-12-11 01:20:41 · 204 阅读 · 0 评论 -
HDU 5685 (前缀+逆元)
Problem A题意:给出你哈希值的计算方式,然后多次询问子串的哈希值。题解:我们通过观察哈希值的计算式子就可以发现是连乘,又是多次询问,因此我们可以想到打表的方式。前缀积即可。ans[a,b]=dp[b]dp[a−1]ans[a,b] = \frac{dp[b]}{dp[a - 1]}ans[a,b]=dp[a−1]dp[b]然后要注意到取模,所以需要乘法逆元。用扩欧或者费马小定理都可...原创 2018-12-22 16:38:08 · 333 阅读 · 0 评论 -
HDU 1540 Tunnel Warfare(线段树区间合并)
Tunnel Warfare题意:有nnn个村庄,如果对于村庄iii和jjj都存在,那么我们就称其关系为连续,然后会有三个操作:D&ThickSpace;&ThickSpace;XD\;\;XDX摧毁第XXX个村庄。Q&ThickSpace;&ThickSpace;XQ\;\;XQX询问包含村庄XXX的最大连续村庄的长度。R&ThickSpace;...原创 2019-03-09 17:20:42 · 210 阅读 · 0 评论 -
2018ccpc网络预选赛1010(hdu6441) 费马大定理
Find Integer问题分析题意:已知an+bn=cnan+bn=cna^n+b^n=c^n,给出nnn和aaa,求bbb,ccc,如果无解输出−1−1-1。 费马大定理 1. an+bn=cnan+bn=cna^n+b^n=c^n,n>2n>2n>2时无解。 2. 当aaa为奇数时, a=2⋅k+1a=2⋅k+1a = 2 \cdot k + 1c=k2+...原创 2018-08-26 15:15:25 · 292 阅读 · 0 评论 -
HDU 5025 Saving Tang Monk(bfs+状压) 【openjudge】
Saving Tang Monk问题分析本题就是属于拿钥匙去开门的bfsbfsbfs类题目。 题意:孙悟空必须拿到nnn个钥匙才能救出唐僧,但是期间如果遇到蛇怪需要多花一分钟去打败她们,并且在拿到第iii个钥匙之前必须先拿到第i−1i−1i-1个钥匙,问最少的花费时间。这题就麻烦在三个地方, 一、同种钥匙可能有多个,拿完钥匙的地方仍然可以走,所以需要加一维钥匙的状态来判重。 ...原创 2018-08-03 01:11:12 · 678 阅读 · 0 评论 -
HDU1026 Ignatius and the Princess I(BFS+优先队列)
HDU1026 Ignatius and the Princess ITime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionThe Princess has been abducted by the BEelzebub feng5166...原创 2018-02-10 19:53:48 · 358 阅读 · 0 评论 -
HDU 1087(最大上升子序列+动态规划)
Super Jumping! Jumping! Jumping!Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionNowadays, a kind of chess game called “Super Jumping! Jump...原创 2018-02-21 10:13:28 · 793 阅读 · 0 评论 -
HDU 1431(回文素数+打表)
素数回文Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Descriptionxiaoou33对既是素数又是回文的数特别感兴趣。比如说151既是素数又是个回文。现在xiaoou333想要你帮助他找出某个范围内的素数回文数,请你写个程序找出 a 跟b ...原创 2018-02-21 14:27:17 · 321 阅读 · 0 评论 -
HDU 1018 (斯特林公式)
Big NumberTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionIn many applications very large integers numbers are required. Some of these appli...原创 2018-03-01 15:05:39 · 306 阅读 · 0 评论 -
HDU 1176(动态规划+类似数塔)
免费馅饼Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围...原创 2018-02-22 12:54:22 · 282 阅读 · 0 评论 -
HDU 1025(最长上升子序列)
Constructing Roads In JGShining’s KingdomTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionJGShining’s kingdom consists of 2n(n is no more t...原创 2018-02-23 13:59:53 · 280 阅读 · 0 评论 -
HDU 1069(动态规划)
Monkey and BananaTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionA group of researchers are designing an experiment to test the IQ of a mo...原创 2018-02-23 14:53:15 · 461 阅读 · 0 评论 -
HDU 2844 Coins (多重背包+二进制优化)
CoinsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionWhuacmers use coins.They have coins of value A1,A2,A3…An Silverland dollar. One day H...原创 2018-02-19 17:07:03 · 354 阅读 · 0 评论 -
HDU 4549(矩阵快速幂+费马小定理)
M斐波那契数列Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others)Problem DescriptionM斐波那契数列F[n]是一种整数数列,它的定义如下:F[0] = a F[1] = b F[n] = F[n-1] * F[n-2] ( n > 1 )...原创 2018-03-10 19:17:26 · 280 阅读 · 0 评论 -
HDU 4911(归并排序求逆序数)
InversionTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others)Problem Descriptionbobo has a sequence a1,a2,…,an. He is allowed to swap two adjacent numbers for ...原创 2018-03-04 18:03:57 · 446 阅读 · 0 评论 -
HDU 1166(树状数组讲解)
敌兵布阵Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视...原创 2018-03-12 16:12:45 · 1128 阅读 · 0 评论 -
HDU 1556(树状数组)
Color the ballTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Problem DescriptionN个气球排成一排,从左到右依次编号为1,2,3….N.每次给定2个整数a b(a &lt;= b),lele便为骑上他的“小飞鸽”牌电动车从气球a开始到...原创 2018-05-17 23:31:30 · 203 阅读 · 0 评论 -
HDU 1043八数码(逆向bfs+康托展开打表 171ms)
EightTime Limit: 10000/5000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Special JudgeProblem DescriptionThe 15-puzzle has been around for over 100 years; even if you don’t kno...原创 2018-06-02 12:08:23 · 314 阅读 · 0 评论 -
HDU 2045
问题分析一道递推题,如果多分析几项,是可以找出规律的。 我们可以这样看,首先,如果第n-1项都是合法的,那么第n项考虑到三种颜色临近格子和首尾不能相同,所以第n个格子一定只有一种选择;如果第n-1项不合法(首尾相同的话),那么如果我们要构成n项都合法,第n项有两种选择,因为第1项和第n-1项颜色相同。虽然第n-1项不合法,但是前n-2项是合法的,所以此时方法数为f[n-2]*2。 f(1)...原创 2018-06-30 23:48:56 · 202 阅读 · 0 评论 -
HDU 2047(递推)
阿牛的EOF牛肉串Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem Description今年的ACM暑期集训队一共有18人,分为6支队伍。其中有一个叫做EOF的队伍,由04级的阿牛、XC以及05级的COY组成。在共同的集训生活中,大家建立了深厚的友谊...原创 2018-07-02 00:53:05 · 206 阅读 · 0 评论 -
HDU 2048(错排公式)
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2048问题分析nnn个人全没有中奖的概率 -> 发生这种情况的所有可能性/情况总数 我们来想一想全部错排该怎么求。 假设前n−1n−1n-1个人都完成了错排,那么第nnn个人可以和这n−1n−1n-1个人任意一个互换,那么就完成了全部错排,此时方法数为(n−1)f(n−1)(n−...原创 2018-07-04 10:24:20 · 296 阅读 · 0 评论 -
2050 Programming Competition 1006 冰水挑战(DP)
冰水挑战一开始想错了方程。。。导致最后没有做出来。题解:通过题意我们就可以知道这是一类很基础的背包问题,第iii项选与不选,时刻保持体力大于零。dp[i][j]dp[i][j]dp[i][j]表示对于前iii个挑战选了jjj个的最大剩余体力,那么就有,如果不选,则dp[i][j]=max(dp[i][j],dp[i−1][j]+c[i])dp[i][j] = max(dp[i][j],dp[...原创 2019-04-18 20:17:57 · 352 阅读 · 0 评论