自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 C#傅里叶变换FFT

/// <summary> /// 快速傅立叶变换(Fast Fourier Transform)。 /// </summary> public class TWFFT { private static void bitrp(float[] xreal, float[] ximag, int n) { // 位反转置换 Bit-reversal Permutation in...

2021-06-05 08:52:17 2435

转载 C#读写文件、遍历文件、打开保存文件,窗体程序

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;namespace FileRea...

2018-10-10 09:34:49 716

原创 Android 文字轮播

public class RollTestView implements Runnable, Handler.Callback{ private TextView mTextView; private List mData; private boolean IsRuning; private int Max = 0, Cur; private Thread

2017-10-11 19:42:35 398

原创 hdu 3711----Binary Number

DescriptionFor 2 non-negative integers x and y, f(x, y) is defined as the number of different bits in the binary format of x and y. For example, f(2, 3)=1,f(0, 3)=2, f(5, 10)=4. Now given 2 se

2016-10-17 20:46:51 318

原创 next_permutation习题练习

习题1:Backward Digit SumsDescriptionFJ and his cows enjoy playing a mental game. They write down the numbers from 1 to N (1 <= N <= 10) in a certain order and then sum adjacent numbers to

2016-10-11 22:26:08 399

转载 关于全排列 next_permutation() 函数的用法

这是一个c++函数,包含在头文件里面,下面是基本格式。1 int a[];2 do{3 4 }while(next_permutation(a,a+n));下面的代码可产生1~n的全排列。#include #include using namespace std;int main(){ int n; while(scanf("%d

2016-10-11 21:00:23 296

原创 CodeForces--Platforms

题目大意:输入四个数n,d,m,l。给你一个一维坐标,有n个平台,有个东西在平台上跳,d为跳的间隔,m为区间,l代表平台的长度,求那个东西跳落平台的一维坐标。第16组数据超时了#include #include using namespace std;int main(){ __int64 n,d,m,l,k,j,start,ending; while(cin>>n

2016-10-10 21:49:04 255

原创 Codeforces---Barnicle

题目大意:将科学计数法化为普通的十进制数输入的形式为 a.deb(0 ≤ a ≤ 9, 0 ≤ d 由于数字太大,所有用string来做。要考虑的情况好多,一定要理清楚思路。#include #include using namespace std;int main(){ string str1,str2,str3; int a,b,i,n,j,k,m; bool

2016-10-10 16:57:44 303

原创 Delta-wave

题目:输入两个数m、n,求m到n的最少步数。注意:顶点之间不能跨越。像m=6、n=12,那么只能6-->5-->11-->12或6-->7-->13-->12。不能6-->12。所有结果是3。看到这道题,我想应该是有规律可寻的,我一都在找,没找到,然后就百度了一下,就是求两个点的三维坐标,在分别相减即可。#include #include using namespace std;in

2016-10-10 11:37:43 348

原创 bfs简单题----Knight Moves(hdu 1372)

题目大意:骑士移动,以象棋中的“马走日”移动的方式一样。给你一个方阵,以字母a~h代表列,以数字1~8代表行。输入两个字符串,一个代表起点,一个代表终点,求在方阵范围里从起点到终点至少要走多少步。#include #include #include using namespace std;int s1,s2,e1,e2;string a,b;int mark[10][10];in

2016-09-12 19:41:52 253

转载 扩展欧几里德算法求解线性同余方程

转自: 点击打开链接 欧几里德算法  欧几里德算法又称辗转相除法,用于计算两个整数a,b的最大公约数。其计算原理依赖于下面的定理:  定理:gcd(a,b) = gcd(b,a mod b)  证明:a可以表示成a = kb + r,则r = a mod b  假设d是a,b的一个公约数,则有  d|a, d|b,而r = a - kb,因此d|r  因此d是(b,

2016-08-20 16:13:28 597

转载 hdu1863-畅通工程 最小生成树的并查集实现方法

hdu1863 ←杭电的域名换掉了,之前贴的链接都打不开找到一篇特别容易理解的用Kruskal博客Problem Description省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。

2016-08-18 17:20:19 261

原创 杭电oj--1213 How Many Tables

Problem DescriptionToday is Ignatius' birthday. He invites a lot of friends. Now it's dinner time. Ignatius wants to know how many tables he needs at least. You have to notice that not all the frien

2016-08-10 19:19:14 1058

转载 并查集

并查集一.并查集的两个功能1.查询一个集合中的一个元素(或者说查询某个元素在哪个集合中)2.合并两个集合二.优化1.按集合的思想来看,并查集其实不是一个树形结构,就是一个普通的集合,查询是O(1),合并是O(n),必须扫描所有元素;   树形结构是优化出来的,下面的内容都是树形结构的,集合的那种就不说了,因为我们平时看到的并查集都是树形结构的

2016-08-10 15:07:25 263

转载 并查集详解

转自点击打开链接这个文章是几年前水acm的时候转的, 当时也不知道作者是谁, 要是有人知道的话说一下吧并查集是我暑假从高手那里学到的一招,觉得真是太精妙的设计了。以前我无法解决的一类问题竟然可以用如此简单高效的方法搞定。不分享出来真是对不起party了。(party:我靠,关我嘛事啊?我跟你很熟么?)来看一个实例,杭电1232畅通工程

2016-08-09 16:47:58 4145

原创 杭电oj--1018 Big Number

In many applications very large integers numbers are required. Some of these applications are using keys for secure transmission of data, encryption, etc. In this problem you are given a number, you h

2016-08-08 15:48:02 303

原创 杭电acm--1234 开门人和关门人

Problem Description每天第一个到机房的人要把门打开,最后一个离开的人要把门关好。现有一堆杂乱的机房签 到、签离记录,请根据记录找出当天开门和关门的人。 Input测试输入的第一行给出记录的总天数N ( > 0 )。下面列出了N天的记录。 每天的记录在第一行给出记录的条目数M ( > 0 ),下面是M行,每行的格式为 证件号码 签到时间 签离

2016-08-07 21:37:06 846 5

原创 杭电oj——1106 顺序

Problem Description输入一行数字,如果我们把这行数字中的‘5’都看成空格,那么就得到一行用空格分割的若干非负整数(可能有些整数以‘0’开头,这些头部的‘0’应该被忽略掉,除非这个整数就是由若干个‘0’组成的,这时这个整数就是0)。你的任务是:对这些分割得到的整数,依从小到大的顺序排序输出。Input输入包含多组测试用例,每组输入数据只有一行数字(数字之

2016-08-05 17:19:52 1465

转载 C++STL之set容器

set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的的数据结构,在插入元素时,它会自动调整二叉树的排列,把该元素放到适当的位置,以确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值;另外,还得确保根节点的左子树的高度与有字数的高度相等,这样,二叉树的高度最小,从而检索速度最快。要注意的是,它不会重复插入相同键值的元素,而采取忽略处理。

2016-08-05 13:06:36 636

原创 大数相减

思路:判断输入的被减数和减数的大小,如果被减数小于减数,就输出负号,其余按大数减小数大数减小数;     倒序,将大数与小数都补到相同的位数相减,如果单个字符相减小于0,则当前相减等于他们之差加上10,,下一个字符相减就退一位。#include #include #include using namespace std;int main(){ string s1,s2; in

2016-08-04 19:01:35 432

转载 C++map容器用法

1. map最基本的构造函数;[cpp] view plain copymapint>mapstring; mapint,string >mapint;  mapchar>mapstring; mapchar ,string>mapchar;  mapchar,int>mapchar; mapint ,char>mapint;  

2016-08-04 11:40:04 579

原创 杭电oj——有关进制的问题 (1)

1720:A+B Coming问题:16进制输入,10进制输出C语言提供了一个利器      %x(或%X)--------------读入16进制整数#include using namespace std;int main(){ int a,b; while(scanf("%x%x",&a,&b)!=EOF) { printf("%d\n"

2016-08-03 21:34:25 671

原创 杭电oj----1035 Robot Motion

题目大意:第一行输入三个数i,j,n,分别代表输入有i行j列,机器人站在n列,依照N(向上走一个单位)E(向右走一个单位)S(向下走一个单位)W(向左走一个单位)。输出:输出有两种可能:1.走出这个矩阵,则输出走出的步数   2.未走出,那么一直都在矩阵中循环走,求走到开始循环的步数以及循环一次的步数。解题思路:定义一个char类型的二维数组,因为输入的矩阵没有空格,所有可以用一个for循

2016-08-03 18:57:10 1281

原创 杭电oj-------1004 Let the Balloon Rise

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1004解题思路:可以将输入的单词存在map容器里面,如果相同的话就累加,再与初设值max=0相比较,找出出现次数最多的单词,输出出来#include #include #include using namespace std;int main(){ int n,max=0; s

2016-08-02 09:02:43 298

原创 杭电oj——1002 A + B Problem II

题目 :    http://acm.hdu.edu.cn/showproblem.php?pid=1002解题思路:两个大数相加,用int肯定会爆。我们用string来玩玩,首先两个数的位数可以相同,可能不相同,所有我们倒序相加,然后我们要比较他们的位数,用长的位数的数去接住他们的和,如果单个位数相加大于10,就向前进一位。最后结果再反过来。注:这是一个神奇的网站,当他们的位数相同且结果

2016-07-31 09:29:12 443

原创 hdu------1280 前m大的数

题目:Problem还记得Gardon给小希布置的那个作业么?(上次比赛的1005)其实小希已经找回了原来的那张数表,现在她想确认一下她的答案是否正确,但是整个的答案是很庞大的表,小希只想让你把答案中最大的M个数告诉她就可以了。给定一个包含N(NInput输入可能包含多组数据,其中每组数据包括两行: 第一行两个数N和M, 第二行N个数,表示该序列。

2016-07-29 17:25:25 369

原创 杭电acm----1201 18岁生日

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1201解题思路:首先判断有没有18岁生日:*****当你输入的月份是2,日期为29,代表你出生的就是闰年,你只要判断18年后是不是闰年就好了,若不是闰年,代表没有18岁生日,反之,则有。若有18岁生日,算从出生到18岁生日所占的天数。*****从出生那年1月1日开

2016-07-26 13:45:13 1322

原创 杭电acm——1982 Kaitou Kid - The Phantom Thief (1)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1982题目思路:数字“1~26”转化为“A~Z”,‘#’转化为空格,‘-’忽略这道题重点就在于数字转化为字母的过程。可以通过映射,用一个string保存字母  string str="AABCDEFGHIJKLMNOPQRSTUVWXYZ"因为数字0不要转化为什么字母,所有随便定义了st

2016-07-24 21:26:51 326

原创 杭电acm-------2502月之数

题目:http://acm.hdu.edu.cn/showproblem.php?pid=2502解题思路:n二进制最前面的数全是1,共有2^(n-1)个排列,所有前面的1的个数有2^(n-1)。其后的位数无非就是0和1,而0和1各占一半,所有后面1所占的个数为(2^(n-1))*(n-1)/2。因而n二进制对应的月之数为其后1的个数加上前面1的个数,为(2^(n-1))*(n-1)/2+2^

2016-07-23 10:44:25 344

转载 快速幂算法

常规求幂[cpp] view plain copy int pow1(int a,int b)  {      int r=1;      while(b--)          r*=a;      return r;  }   二分求幂(一般)[cpp] view pla

2016-07-21 16:57:40 214

转载 C++STL之string

在学习c++STL中的string,在这里做个笔记,以供自己以后翻阅和初学者参考。1:string对象的定义和初始化以及读写string s1;      默认构造函数,s1为空串string s2(s1);   将s2初始化为s1的一个副本string s3("valuee");   将s3初始化一个字符串面值副本string s4(n,'c');   将

2016-07-21 12:03:44 231

原创 杭电acm有关string的题目

hdu: 1860         http://acm.hdu.edu.cn/showproblem.php?pid=1860将string转化为数组#include #include using namespace std;int main(){ int i,m,j; string s,x; while(getline(cin,x)&&x[0]!='

2016-07-21 09:02:14 281

原创 杭电acm——1200

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1200思路分析:输入一个数n,再输入字符串s,你要把字符串s分成n列,这么分呢?每一行有n个数,奇数行顺输出,偶数行逆输出,再以列为单位,依次输出。输入数n: 5输入字符串s: toioynnkpheleaigshareconhtomesnlewx将字符串分成n列:

2016-07-19 12:49:42 307

原创 杭电acm——1008电梯问题

题目:http://acm.hdu.edu.cn/showproblem.php?pid=1008问题分析:输入第一行n代表有几组数,输入第二行m代表电梯要停几层,随后跟着输入m个数代表要电梯停的楼层每上一层楼电梯要用6分钟,每下一层楼电梯要用4分钟,在楼层中停要用5分钟可以发现:只要比较相邻两个数,只要前者小于后者就表示电梯上升,所用时间=(后者-前者)*6;只要前者大于后者就表示电

2016-07-18 08:17:23 979

原创 杭电acm ————1048

解题思路:对于每租数都要有输入三行。如果输入ENDOFINPUT,就结束

2016-07-17 19:49:29 1513

原创 杭电acm ----1108题

思路:要求最小公倍数必须求最大公约数,因为最小公倍数=(a*b)/最大公约数最大公约数有两种方法得1.辗转相除法:只要两个数不整除,就反复用大数整除小数取余,直到整除为止#include using namespace std;int gdc(int a,int b){if(a%b==0) return b;else return gdc(b,a%b);}

2016-07-16 21:20:04 571

原创 杭电oj有关a+b的问题

hdu 1089#include using namespace std;int main(){int a,b;while(cin>>a>>b){cout}return 0;}hdu 1090#include using namespace std;int main(){int n,a,b;cin>>n;while(n

2016-07-16 13:40:27 2457

空空如也

空空如也

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

TA关注的人

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