自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Codeforces Round #327 (Div. 2)B. Rebranding

B. Rebrandingtime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputThe name of one small but proud corporation c

2016-05-29 12:36:53 434

原创 Codeforces Round #327 (Div. 2)A. Wizards' Duel

A. Wizards' Dueltime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputHarry Potter and He-Who-Must-Not-Be-Named

2016-05-29 12:13:59 703

原创 Codeforces Round #326 (Div. 1)A. Duff and Weight Lifting

A. Duff and Weight Liftingtime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputRecently, Duff has been practicin

2016-05-29 11:58:43 499

原创 Codeforces Round #326 (Div. 2)B. Duff in Love

B. Duff in Lovetime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputDuff is in love with lovely numbers! A posi

2016-05-29 11:24:56 433

原创 Codeforces Round #326 (Div. 2) A. Duff and Meat

A. Duff and Meattime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputDuff is addicted to meat! Malek wants to ke

2016-05-29 11:01:23 401

原创 Graveyard(UVa1388)

题意:在一个周长为10000的圆上有平均分布着n个雕像,现在在这个圆上加上m个雕像,问想要平均分布(n+m)个雕像,最少要把原来的n个雕像一共移动多少距离。思路:先求出n个雕像和(n+m)在圆上的平均距离。把n个雕像的圆以任意一个点为起点,求出第i个点的值,用第i个点的值除以(n+m)的圆的点的平均值(化为整数)。求得(n+m)上离i最近的一个点,用这点的值乘以(n+m)的点的平均值。

2015-09-11 21:49:54 522

原创 Commando War(UVa 11729)

题意:你有n个部下,你要给每个部下分配任务,分配任务的时间为B,部下执行任务的时间为J。不能同时分配多个任务,但部下执行任务的时候你可以给其它部下分配任务。求怎么分配任务的时间最短(所有任务的要分配守和执行完)思路:把部下执行任务的时间排降序,循环加上给部下分配任务的时间。当循到第i个部下时,判断1到i个部下分配任务的时间加上第i个部的执行任务的是否为最大值。#include #

2015-09-11 21:30:31 418

原创 Dragon of Loowater(UVa 11292)

#include #include #include using namespace std;int main(){ int n,m; while(cin>>n>>m&&n&&m) { int a[30000]; int b[30000]; for(int i=0;i<n;i++) cin>

2015-09-11 21:09:27 391

原创 Smooth Visualization(UVALive 5870)

题意:给一个长度不超过100的整数字符串,给每一列输出‘*’和‘+’,并且两列加号数量的差要小于等于1(*在+列的上面)。也就在两个字符间加一些数字,让两个字符呈升序或降序,然后用‘*' 和‘+’表示出来(如果两个字符相同或差的绝对值为1,不能在两个字符间加)。思路:其实思路很简单,就是表述有点困难。先把所有数的升序和降序求出来,然后按格式输出就行了。#include #incl

2015-08-25 22:02:25 577

原创 Symmetry(UVa 1595)

本题链接题意:给N个点,求这些点是否关于y轴对称。思路:先求出这些点在x轴上最大点和最小的点的中点(要把所有的x轴上的点乘于2,防止出现实数),然后把每个坐标和所有坐标进行比较,如果两个点的y轴相等x轴的中点等于最大和最小点的中点,这个点就是有对称点的。直到把所有点求完,如果有一个点没有对称点,那么所有点就不对称。#include #include using namesp

2015-08-25 10:52:22 535

原创 B. Random Teams(Codeforces Round 273)

题意:N个人把它们分成M队,然后每一队中的两个人都想变成朋友(比如一队4人就有6对朋友,每队最少一个人),,求朋友数最大和最小的两种分法.思路:这题考的是组合知识,最大分法比较好求,C((n-m+1),2)就是最大的分法.然后最小的分法,保证每一队的人数尽可能平均才能最小.如果n%m的余数为0,那就每一队分m/n个数,如果n%m的余数不为0,先把n/m分给每个队,然后剩下的

2015-08-22 17:24:25 588

原创 The Last Practice(HDU1405)

题意:给一个数N,求出N的所有质因数.思路:N从2开始除,除得尽就是质因数,除的时候注意每次除完要取商,然后用商去除下一个数.但是可以除同一个数,直到这个数除不尽.还有质因数是同个数有多个,就需要输出有多少个,一个就输出1,看案例就知道.#include #include #include using namespace std;int arry[65536];int

2015-08-22 16:56:51 466

原创 Romantic(hdu 2669)

题意:输入a,b,已知X*a+Y*b=1,求X,Y;思路:用扩展欧几里德算法,思路见紫书313#include #include #include using namespace std;void gcd(int a,int b,int& d,int& x,int& y){ if(!b) { d=a; x=1;

2015-08-22 16:37:23 416

原创 Wolf and Rabbit(hdu 1222)

题意:有一个N个洞的山,兔子躲在洞内,狼以自己所在洞跳M个位,问狼能不能找到兔子.其实就是能不能遍历所有的点.思路:这题用欧几里德算法解,也就是说洞的数和跳跃的数最大公约数为1.#include #include #include using namespace std;int gcd(int m,int n){ return n==0?m:gcd(n,m%n);

2015-08-22 16:26:12 461

原创 lightoj1104( 条件概率)

题意:假如一年有N天,问有多少人参加生日时,能保证有两个两个以上的人生日在同一天的概率大于等于0.5.思路:

2015-08-22 15:54:12 595

原创 美素数(hdu 4548)打表

本题链接把所有美素数求出来打一个表,数组中存从1到当位置有多少美素数。当前位置不是美素数的要记录为前一个美素的值,输出直接用区间右值的美素数个减区左值前一个美素数。#include #include using namespace std;int a[1000100];int b[1000100];bool funtc(int n){ for(int i=2; i*i<

2015-08-17 21:48:08 595

原创 滑雪(poj 1088)

本题链接思路:      分别以数组中的每个位置为起点,用dfs进行上下左右深搜,后一个值一定要小于前一个值(不能等于)。搜完一个起点的值后,保存以这个点为起点的值,在下一次搜到这个点时直接引用以前的值。      这题注意一点,要用一个dp去记录状态,没就是搜过的点的状态要记录下来,下找到这点直接引用.#include #include #include #include u

2015-08-16 21:44:20 466

原创 To the Max(zoj 1074)最大子距阵和

本题链接(单击这里)题意:      给一个n*n的距阵,要求求出最的子距阵和。思路:     这道题的关键就是怎么找到所有的子距阵,     然后用表解示。。。。     下面是案例    这是一个数组a0-2-7092-62-41-41-180-2

2015-08-16 21:08:37 697

原创 AGTC(hdu 3356)

本题链接(单击这里)题意:      这题是一个编辑距离题,编辑距离是指两个字串之间,由一个转成另一个所需的最少编辑操作次数(可以替换、插入、删除)。思路:          AGTAAGTAGGC                A

2015-08-15 16:39:47 547

原创 Max Sum(HDU 1003)

题意:求最大子段和思路:这题刚开始做时没想那么多,还是用的以前的方法。用双重循环,遍历找起点和终点。然后 。。。。。就超时了。因为用了二重循环,N的最大值为100000,时间复杂度为O(N^2)。第二篇代码看了大神的。。。。。居然可以只遍历一遍把每个数依次相加,只要相加后的数小于零累加的变量就重新付零,还有每加一次就要判断是否为最大值。做这道题要把正数和负数连系起来,想想全为负数的

2015-08-13 21:31:43 315

原创 Tian Ji -- The Horse Racing(hdu1052)

此题链接单击这里=================题意: 田忌和齐王分别有n匹,给出每匹马的速度。让田忌和齐王的马比赛,问田忌最多能赢多少钱(赢一场赢200,输一场输200,打平不分输赢)。 思路: 先把田忌和齐王的马分别排序,然后分三种情况: 1、齐王最快的马比田忌最快的马慢, 用田忌最快的马赢齐王最快的马。 2、齐王最快的马比田忌最快的马快,用田忌最慢的马输给齐王最快的马。

2015-08-10 09:11:33 554

原创 Vanya and Lanterns( Codeforces Round #280 (Div. 2)B)

此题链接单击这里================题意: 在X轴上半轴有n个小岛,给出每个小岛座标。以X轴为圆心画半径为d的圆,问最少画多少个圆才能把所有的小岛覆盖起来。 思路: 这是一个区间选点问题,先以每个小岛为圆心,d为半径,找到圆与X轴相交的左右端点或相切的点(把圆的方程变换一下,变成求x的方程)。求得的所有的区间进行重合判断。(输入的小岛的纵座标一定大于等于d,否定就直接输出-1)

2015-08-09 22:08:44 469

原创 C.Stripe(Codeforces Beta Round #18 (Div. 2 Only))

此题链接单击这里=================思路: 循环n-1次,如果a[1]+….+a[i]==a[i+1]+….+an,就计数一次。#include <iostream>#include <cstdio>#include <queue>#include <stack>#include <string>#include <cstring>using namespace std;

2015-08-08 16:20:29 505

原创 (Vanya and Lanterns)Codeforces Round #280 (Div. 2)B

此题链接单击这里================= 有问题联系企鹅791267032 邮箱地址….wutanrong@Hotmail.com

2015-08-08 15:49:37 470

原创 Inversion(hdu 4911)

此题链接单击这里=================题意: 有N个数,每次只能和相邻的数交换,只能交换K次,问最少有多少个逆序对(就 是一个数前面有多少个数比它大)。 思路: 用归并排序按升序排列,在排列时记录所有的逆序对。排列完以后用所有的逆序对减K就是行了(注意负数时输出0) 付代码#include <iostream>#include <cstdio>#include

2015-08-08 15:11:23 493

原创 Pie(poj 3122)二分法

此题链接单击这里=================这题看了很久才明白题意,翻了10多篇博客才懂意思。。。。。。 题意: N+1个人平均分F份派,派的高度为1,输入每份派半径,求平均每个人分得的派的体积。每个人只能在一份派中拿和大家一样的平均值,可以有1到N+1个人拿同一份派,但不能有一个人拿两份到F份中的派。 思路: 先把所有半径平方,找到最大平方半

2015-08-05 15:14:20 455

原创 Ultra-QuickSort(POJ 2299)

此题链接单击这里=================这是用归并排序解的第一道题,解了一天。大部分时间用在理解归并的思想,在没有弄清题意和做法都不敢写。以前做题总是求结果,而并没有总结过程。今天就有了新的想法,扎扎实实打基础,尽可能用算法和数据结构解题。 题意: 输入一个序,求#include #include #include #include using n

2015-08-04 09:29:58 392

原创 矩形A + B(HDU 2524)

此题链接单击这里=================水题#include <iostream>using namespace std;int main(){ int t; cin>>t; while(t--) { int n,m; long num=0; cin>>n>>m; for(int i=1;

2015-08-02 19:15:39 468

原创 循环多少次(HDU 1799)

此题链接单击这里=================用扬辉三角#include <iostream>using namespace std;long a[2010][2010];void funt(){ for(int i=1;i<=2001;i++) { a[i][1]=i%1007; a[i][i]=1; } for(int

2015-08-02 19:09:12 458

原创 Oil Deposits(UVA 572)

此题链接单击这里=================求有多少个连续的区域,DFS的基础运用。#include <iostream>using namespace std;int m,n;char a[120][120];//int b[120][120];int b[8][2]={-1,-1,0,-1,1,-1,1,0,1,1,0,1,-1,1,-1,0};void funt(int x

2015-08-02 18:40:32 361

原创 棋盘问题(POJ 1321)

此题链接单击这里=================看似像八皇后问题,但区别还是很大。 附代码#include <iostream>#include <cstring>using namespace std;char a[10][10];int b[10][10];int n,k,m;bool is(int ax,int ay){ for(int i=1;i<=ax;i++

2015-08-02 18:26:15 370

原创 Power Calculus(POJ 3134)

此题链接单击这里=================#include <iostream>using namespace std;int a[1010];int t,b,n;bool funt(int c){ if(c>t) return false; if(a[c]==n) return true; if(a[c]<=0||a[c]>

2015-07-31 19:10:24 424

原创 Equivalent Strings(Codeforces Round #313 (Div. 2) D)

此题链接单击这里=================#include <iostream>#include <string>#include <vector>using namespace std;string a,b;bool funt(int fa,int la,int fb,int lb){ int i,j; for(i=fa,j=fb;i<la;i++,j++)

2015-07-31 18:57:59 331

原创 Prime Ring Problem(UVA 524)

此题链接单击这里=================用回溯法解此题#include <iostream>#include <cstdio>using namespace std;int a[20];int n;bool is1(int k){ for (int i = 2; i < k; i++) if (k%i == 0) return f

2015-07-31 10:51:28 359

原创 Maximum Product(UVa 11059)

此题链接单击这里=================求最大连续乘积,分别以每个数为起点。连续乘起点数后的数,每乘一个数判断一次(中间变量存储大的数),最后输出中间变量。#include<iostream>#include<cstdio>using namespace std;int main(){ int N, l = 0; while (cin >> N&&N) {

2015-07-31 10:44:03 482

原创 权利指数(hdu 1557)

此题链接单击这里=================此题只要枚举出所有子集即可AC~~~~~好吧,关键就是怎么枚举子集。。。 做此题之前根本不知道怎么枚举子集,把紫书(刘汝佳著)子集生成一节看几遍,最后用二进法做此题(就看懂了这个~~~)。 二进制法枚举子集: n个数有2^n个子集,每个子集对应一个二进数,每位二进制对应一个数。二进制的位权为0表示子集不包含那个数,二进制的位权为1表示子集

2015-07-30 18:48:03 923

原创 除法(Division, UVa 725)

此题UVa链接单击这里=================刚开始做的时候题意理解成了,除数和被除数可以为10000到99999的任意数,然后。。。。测试就错了。 第一次提交的错代码把除数+被除数的位数为10的情况排除了,提交就WS。。。。 特别注意的是输出格式,每输入一个数要空一行,而输第一数不需要空,这一大坑。 题意:输入一个数N(2<=N<=79),求 abcde/fhgij=N(abcde

2015-07-27 11:10:28 861

原创 Red and Black(HDU 1312)

此题链接单击这里=================#include <iostream>#include <cstring>using namespace std;char a[25][25];int b[25][25];int c[4][2]={{-1,0},{0,-1},{1,0},{0,1}};int W, H,k;bool is(int ai,int aj){ if(

2015-07-23 16:29:40 340

原创 N皇后问题(HDU 2553)

此题链接单击这里=================#include <iostream>#include <cstring>#include <cmath>using namespace std;int N,k;int a[12];bool is(int ai,int aj){ int i=1; while(i<ai) { if(a[i]==aj

2015-07-23 16:27:11 447

原创 Lake Counting(POJ 2386)

POJ打不开就不上链接了。。。。。 附代码#include <iostream>#include <cstring>using namespace std;char a[102][102];int b[102][102];int N,M,t;void funt(int ai,int aj,int t){ if(ai<1||ai>N||aj<1||aj>M)

2015-07-23 16:20:04 392

空空如也

空空如也

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

TA关注的人

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