2019-07-11嘻嘻明天就能看见老宋了,我的CSDN计划也要暂时搁浅了!!看来我还是没能超过老宋,QAQ……不过假期我会好好努力的,只要没啥事,就一定会更一篇文章,至少保证每天一道题,加油!!!!

1013B 输出第N到M的所有素数……

这个和前面一道题基本一致,比较恶心的是,N和M最大到10000,我并不知道第10000个素数是哪个,就给了很大的一个数,保证不超时就好……

等等,我为什么不计数??哈哈哈哈就这样吧,代码如下:

#include<iostream>
#include<string>
#include<vector>
using namespace std;

int is_prime( int a)
{   int j;
    for(j=2;j*j<=a;j++)
    {
        if(a%j==0)
            return 0;
    }
    return 1;
}

int main()
{
    vector<int>prime;
    int i,m,flag;
    prime.push_back(1);
    prime.push_back(2);
    prime.push_back(3);
    for(i=5;i<214740;i+=2)
    {   flag=1;
        if ( i % 3 == 0)
			continue;
        else  flag=is_prime(i);
        if(flag)
            prime.push_back(i);
    }
    int l,r;
    cin>>l>>r;
    int count=0;
    for(m=l;m<r;m++)
    {
        cout<<prime[m];
        count++;
        if(count==10)
            {
                cout<<endl;
                count=0;
            }
        else cout<<" ";
    }  
    cout<<prime[r];
    return 0; 
}

 1003A emergency!

啊,看题干看了十分钟,很好理解,就是信息量有点大,滤清关系就好!然后思路大概是有的,清楚地意识到要用回溯算法,很好,这是我的薄弱点,试着写了写,然鹅,还是写到最后不写了,有点乱哈哈哈哈哈。

先贴个半成品代码,方便后期修改哈哈哈哈哈哈6

#include<iostream>
#include<stack>
using namespace std;

int main()
{
    int citynum,roadnum,home,sos;
    cin>>citynum>>roadnum>>home>>sos;
    int resnum[500][500]={0};
    int i=0,res;
    while(i<citynum)
    {
        cin>>res;
        resnum[i][i]=res;
        i++;
    }
    int go,to,l;
    int road[500][500]={0};
    i=0;
    while(i<roadnum)
    {
        cin>>go>>to>>l;
        road[go][to]=l;
        //road[to][go]=l;
        i++;
    }
    int j,k,m,n;
    int short=500;int team=1;
    int count=0;
    if(road[now][sos]!=0)
        {
            short=road[now][sos];
            team=resnum[now][now]+resnum[sos][sos];
        }
    is_road(now);
    
return 0;
}

int is_road(int a)
{   for(i=0;i<citynum;i++)
    {   if(road[a][i])
            {
                if(road[now][i]&&(road[now][a]<road[now][i]+road[a][i]))
                    break;
                else
                {   
                    road[now][i]=road[now][a]+road[a][i];
                    resnum[now][i]>=resnum[now][a]+resnum[a][i]?resnum[now][i]:resnum[now][a]+resnum[a][i]; 
                if(i!=sos)
                    is_road(i);
                } 
            }
    } 
    is_road(i); 
   
}

这是一道路径规划题,很多答案涉及到了DFS算法,然后就开始补了一下它的基础知识,这篇文章写的挺好的,我就直接贴链接吧,我总结也总结不好,估计用个两三次才会记住……

Depth First Search英文的缩写,翻译过来就是“深度优先搜索”。(好像在数据结构里面见过……)

https://blog.csdn.net/chensanwa/article/details/79717835

博主总结的好,就是“不撞南墙不回头”的算法,走走走,走不动了往回走(这不就是回溯么……)

DJ阿龙,drug a beat!

然后网上找了很多答案,仿佛看见了曾经的自己,乱命名,以至于变量太多,它写的是个啥???而且发现很多人用了INF,又顺手百度了一下这是个啥。

INF:infinity 无限大,自己定义大小,即在它的生存期内,它最大,可以认为除数为0是=时,商为INF。

NAN:not a number 就可以定义为负数开根号的结果,或者0/0 的答案。

这个博主写的还是比较详细易懂的,我们来看一下!

https://blog.csdn.net/qq_43064271/article/details/82662675

思路大体跟我一致,简单看了下,打算后期看这个修改一下自己的。

随后我打开了《算法笔记》,里面有这道题的官方答案,我能说啥呢,可能是比较高深,所以需要很认真看才能看懂……我觉得还不如民间大神写得好呢。

然后里面有一点知识点,总结一下:

fill(first,last,val)函数,就是指定迭代器的首末端,进行初始化,初始化的值为val;

memset(void *s,int c,n)函数,也是初始化函数,将指针变量s所指向的前n个字节的内存单元用一个整数c替换。

 具体的,可能在以后的博客里更新哈哈哈哈哈……

吃饭去!

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
电子图书资源服务系统是一款基于 Java Swing 的 C-S 应用,旨在提供电子图书资源一站式服务,可从系统提供的图书资源中直接检索资源并进行下载。.zip优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人系统开发经验充足,有任何使用问欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(若有),项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注计算机领域】: 有任何使用问欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出多功能 【无积分此资源可联系获取】 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。积分/付费仅作为资源整理辛苦费用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值