自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 gets()和getchar()的用法

----------------------------------------------------| 问题描述一:(分析scanf()和getchar()读取字符)   |--------------------------------------------------scanf(), getchar()等都是标准输入函数,一般人都会觉得这几个函数非常简单,没什么特殊的。但是有时候却就是因...

2018-06-05 23:39:22 27675 6

原创 排座位 (Codeforces Round #484 (Div. 2) A - Row )

题目链接题意:给你n张凳子,0表示空的,1表示有人。然后让你判断当前位置是否是最大的合法安排方法。其中合法指1的左右都要是0。思路:模拟题,判断是否有两个1相邻(合法性),是否有三个0相邻(最大性),不过对于两端的0要注意最左端的0只要右边的是0那么就不是最大的,最右端的同理。(细节较多)#include<iostream>#include<string>#include&...

2018-05-21 18:53:03 239

原创 hdu1004

#include #include#include#includeusing namespace std;int main(){    int i,n;    while(cin>>n&&n)    {        string a[1005];        int flag[1005];        int maxone,yan;

2018-01-19 22:13:38 345

转载 c++的字符串数组string

用字符数组来存放字符串并不是最理想和最安全的方法。C++提供了一种新的数据类型——字符串类型(string类型),在使用方法上,它和char、int类型一样,可以用来定义变量,这就是字符串变量——用一个名字代表一个字符序列。实际上,string并不是C++语言本身具有的基本类型,它是在C++标准库中声明的一个字符串类,用这种类可以定义对象。每一个字符串变量都是string类的一个对象。一、字符...

2018-01-19 22:09:04 116458 4

原创 单调递增最长子序列

#include #includeusing namespace std;int main(){    int n,i,j;    cin>>n;    while(n--)    {        int m;int sum=0;        char a[10005];        int dp[10005]={0};       

2018-01-01 19:01:42 266

原创 前缀式计算

#include #include double fun(){    char s[20];    if(!~scanf("%s",s))          //这样可以连续输入        exit(0);    switch(s[0])    {        case '+':return fun()+fun();        case '-':r

2017-12-18 22:57:33 478

原创 超大数减1

对于超大数,一般用字符数组处理#include #include void zuo(char a[],int len){    while(len--)    {        if(a[len]>'0'&&a[len]        {            a[len]--;            break;        }        e

2017-12-18 17:17:35 263

原创 输入输出形式

#include #include int main(){    char a[]="bowl";    char b[]="knife";    char c[]="fork";    char d[]="chopsticks";    char f[20];int flag[5]={0};    int n;int i;    while(scanf("

2017-12-14 18:25:07 413

原创 求N!的二进制表示最低位的1的位置(从右向左数)

十进制逢10化0,二进制逢2化0;一样的道理。对于10进制来说,逢10也就是逢5,因为10=5*2;一个阶乘中化成素因子乘积,肯定排序为10阶乘结果后面就有多少连续的0。所以对于2进制来说,阶乘素因子有多少2,阶乘结果后面就有多少连续的0。

2017-12-10 22:17:17 1283

原创 最小乘法次数

用递归的思想去解决#includeint count(int n){    if(n==1) return 0;    if(n%2==0) return 1+count(n/2);    if(n%2==1) return 2+count(n/2);}int main(){    int N;    scanf("%d", &N);    whil

2017-12-10 16:47:30 369

原创 博弈论

巴什博奕(Bash Game):   只有一堆n个物品,两个人轮流从这堆物品中取物,规定每次至少取一个,最多取m个。  最后取光者得胜。      显然,如果n=m+1,那么由于一次最多只能取m个,所以,无论先取者拿走多少个,  后取者都能够一次拿走剩余的物品,后者取胜。因此我们发现了如何取胜的法则:如果  n=(m+1)r+s,(r为任意自然数,s≤m),那么先取者要拿走s个

2017-12-10 16:38:53 234

原创 阶乘因式分解

#include int main(){  int s;scanf("%d",&s);    while(s--)    {       int n,m;int sum=0;        scanf("%d %d",&n,&m);        while(n)        {            sum+=n/m;      //计算n中有多少个能整

2017-12-07 23:49:40 384 1

原创 台阶问题(1or2)

方案一:用递归实现(用递归可以将问题分解成规模更小的问题) #include int fun(int m){    if(m==0)        return 1;    if(m==1)        return 1;    return fun(m-1)+fun(m-2);}int main(){    int n;    scanf

2017-12-07 20:02:52 380

原创 对超大数求余

对这种超大数的问题,要转换成字符串去解决。#include #includeint main(){    int n;    scanf("%d",&n);    while(n--)    {   char a[1000001];        int i,sum=0;        scanf("%s",a);         int len=str

2017-12-05 19:30:08 531

原创 快幂算法

问题:求a^b mod c常规算法 int mod(int a,int b,int c){    int i,ans=1;    for(i=0; i        ans=(ans*a)%c;    return ans;}常规算法的时间复杂度为O(n),如果b的取值较大时,就会超时。快幂算法数学基础:a^b mod c=((a^2)^(b/2

2017-12-05 13:29:22 240

原创 贪心算法之+-字符串

思路:两个字符串第i个‘-’的距离 (i从1到字符串的‘-’的个数),然后加和即可。(思路还是说不出来,看代码)           #include #include int main(){    int i;    char a[5005],b[5005];    while(scanf("%s\n",a)&&scanf("%s",b)!=EOF)     {  

2017-12-03 23:23:20 451

原创 会场安排问题

由于贪心思想,对结束时间排序即可①这种冒泡排序会超时#includestruct yan{    int start;    int end;    }a[10001],temp;int main(){    int i,j;int s,m;int sum=1;    scanf("%d",&m);    while(m--)    {    int

2017-12-02 14:06:31 313

原创 贪心算法之寻找最大数

从左往右,每次都删除第一个比前一个数小的数,如果没有找到,就删除最后一位数。#include #include int main(){    int i,n;    scanf("%d",&n);    while(n--)    {        char a[100];        //对于特别大的数,就用字符串来表示        int m;

2017-12-02 13:47:25 667

原创 简单的背包问题

#includestruct good{    int price;    int weight;    }a[11],temp;int main(){   int n;    int i,j;int s,m;    scanf("%d",&n);    while(n--)    {    int sum1=0,sum2=0;        scanf

2017-11-30 19:50:25 394

转载 同余问题的处理方法

"差同减差,和同加和,余同取余,最小公倍加"所谓同余问题,就是给出“一个数除以几个不同的数”的余数,反求这个数,称作同余问题。首先要对这几个不同的数的最小公倍数心中有数,下面以4、5、6为例,请记住它们的最小公倍数是60。1、差同减差:用一个数除以几个不同的数,得到的余数,与除数的差相同,此时反求的这个数,可以选除数的最小公倍数,减去这个相同的差数,称为:“差同减差”。例:“一

2017-11-19 22:27:06 6184

空空如也

空空如也

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

TA关注的人

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