自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 hdu 1205 吃糖果

题意:给定T组数据,每组有N种糖果,不能连续吃两个同种的糖果,问是否存在一个吃糖果的顺序吃完所有糖果。思路:只要(总糖果数-最大的一组糖果数)>=最大糖果数-1;说明存在一种顺序:先吃最大的一种糖果,再吃其他糖果,然后再吃最大的那一组,再吃。。。假设最大的一种数量为a,第二大的数量为b,其余的为c,总数为s。 则(s-a)>=a-1,即a满足2a<=s+1; 则a被吃完后,还剩下s-2a个糖果,

2017-01-22 00:08:03 240

原创 HDU 1202 The calculation of GPA

题意:计算(学分*成绩对应的点数)的和/学分和。注意点:1.题目上成绩对应范围是80~89,代码中不能写>=80&&<=89,因为89.5算在里面。 2.GPA不能计算有两种情况,第一种是全部考试缺考,第二种是(学分*成绩对应的点数)的和为0,换句话说GPA不能为0。#include<bits/stdc++.h>using namespace std;typedef pair<double,d

2017-01-21 21:37:22 186

原创 HDU 1050 Moving Tables

题意:给定T组样例,每一组给定一个n,接下来n行每行给出s和t,代表将桌子从s房间到b房间,移动时占用对应段的走廊,所以同一段走廊不能同时被使用,一次移动需要10分钟。问最短时间。思路:贪心。选取第一组未被移动的s和t,然后不断选取能并列移动的s和t,移动将改变目前的t,碰到的第一组不能并列移动的作为下一批移动的第一个。注意点:s不一定大于t。房间号不重要,关键是占据了哪一段走廊。代码:#inclu

2016-11-25 07:21:17 223

原创 HDU 1045 Fire Net

题意:给定一个n*n的方阵,’X’代表墙壁,’.’代表机枪,一个机枪的行列上不可以有其它机枪,除非中间有墙隔着。问给定方阵上最多可以放几个机枪。思路:贪心+dfs。先统计出所有可以放机枪的点每个如果放了机枪会影响几个区域。然后选取影响最小的防止机枪,然后不断重复操作直到所有区域被覆盖。#include<bits/stdc++.h>using namespace std;const int MAX

2016-11-22 09:23:04 211

原创 codeforces #286 A. Mr. Kitayuta's Gift

题意:给定一个字符串,添加任意一个字母,使之成为回文串。我一开始的思路是模拟,就是一开始就判断能不能回文,找回文中点,然后再直接输出回文结果,显然很麻烦。要考虑字符串的长度为偶数奇数,还有中点是添加的还是现成的。所以此方案不通。接下来的思路很简单,暴力,在每个位置添加一个字母,判断是否回文,直到找到正确解。#include<bits/stdc++.h>using namespace std;co

2016-11-20 12:14:40 420

原创 HDU 1016 Prime Ring Problem

题目:给出一个n,在1到n中以1为开头构造一个素数环,要求相邻两个元素的和为素数。先打素数表,再记忆化深搜。#include<bits/stdc++.h>using namespace std;const int MAX_N = 1000;int n,prime[]={2,3,5,7,11,13,17,19,23},d[MAX_N],ans[MAX_N];bool sear(int a){

2016-11-13 23:05:32 184

原创 Codeforces#378 div.2 C. Epidemic in Monstropolis

题意:给定n个数,代表n个怪物的质量,当一个怪物严格大于两边怪物质量时,可以吃掉来增加自己的质量,一个怪物同一时间只会被吃一次。问能否出现这样一种情况:给定k个数,代表剩下怪物的质量。显然需要分组,不管怎么吃,每一组的质量和都对应一个ki。 思路:对每个数组,每次选取当前的最大值(注意最大值连续的情况),吃掉左或右的怪物,移动数组元素代表的值。注意点: 一开始考虑数组还是链表,链表可以直接找到左

2016-11-07 21:39:02 299

原创 codeforces#378 div.2 B Parade

题意:给定n个队伍,每个队伍i都有li个先迈左脚的士兵和ri个先迈右脚的士兵,队伍的beauty指的是(li-ri)的绝对值,问调换哪一队队伍使得n个队伍的beauty最大。如有多组解法,输出任意一组,如果原来就已经是最大,输出0。解题思路:分别求踏左脚的和踏右脚的人数,然后对每一队队伍调换,判断beauty是否增加。 复杂度为O(n)。#include<bits/stdc++.h>using

2016-11-02 16:53:00 270

原创 codeforces#378 Div.2 A. Grasshopper And the String

题意是给定一个全大写字母组成的字符串(长度不超过100),找出其中连续两个元音之间的最大距离。(连续两个元音是指中间没有其他元音)。首先,元音有6个,不是5个,分别是’A’ ‘E’ ‘I’ ‘O’ ‘U’和 ‘Y’,注意有个 Y ! 其次样例里有超过100的字符串,数组要开大点, 一开始开的是105,WA。改成150,WA。改成1500,可以了。 原因我自己也不知道。还有相同的样例自己CB跑是

2016-11-01 21:10:06 258

原创 Hdu 1028 Ignatius and the Princess III

Problem Description “Well, it seems the first problem is too easy. I will let you know how foolish you are later.” feng5166 says.“The second problem is, given an positive integer N, we define an equat

2016-07-28 20:31:14 234

原创 HDU 1028 Ignatius and the Princess III

之前做过这个题目,当时看的题解方法是母函数,等我理解母函数之后会再写母函数的感想。 今天看的方法是DP。 DP我一般很难找到状态方程。现在可能有所感悟。 如果题目给的规模范围为n,那么子问题大多是从n=1开始的。换句话说,就是当问题被抽象成一个规模整体变小的子问题时,有的时候我们用dp[i][j]表达这个状态,有的时候可能是dp[i]来表示,[i][j]还是[i]取决于子问题的特征,比如上升子

2016-07-28 12:21:49 307

原创 New Year Table

今天做了codeforces上的operation weak win训练营题目。很不幸, 第一题就被卡了。 下面给出原题。 A. New Year Table time limit per test 2 seconds memory limit per test 256 megabytesinput standard input output standard outputGera

2016-07-27 17:46:24 538

原创 VJ 122106 C-House Building

#include#include#includeusing namespace std;const int MAXN = 1000+10,INF=1000000;int maze[MAXN][MAXN],d[MAXN][MAXN],sign[MAXN][MAXN]; //maze为保存input的数组,d为保存每个位置表面积的数组,sign为标记数组

2016-07-15 16:34:25 806

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除