2017.10.23 測試總結并今日總結

2017.10.23 – Day 15

測試總結:

T1:就是一個Fibonacci sequence,然而自己預處理時預處理少了…


附:

部分代码(前):
这里写图片描述

inline void make()
{   
    f[0]=0,f[1]=1;

    for(int i=2;i<=39;++i)
        f[i]=f[i-1]+f[i-2];
}

部分代码(后):

这里写图片描述

inline void make()
{   
    f[0]=0,f[1]=1;

    for(int i=2;i<=45;++i)
        f[i]=f[i-1]+f[i-2];
}

这里写图片描述 这里写图片描述 这里写图片描述 这里写图片描述


T2:↓↓↓std給的正解 ↓↓↓
这里写图片描述

表示自己考試時第一想法是LCA,但是仔細想想又覺得然并卵…
於是打算打一個30分的暴力走人。

↓↓↓對於暴力給的題解(30%)↓↓↓
这里写图片描述

表示自己連暴力不會…


可是!出題人并沒有想到還有一種神奇的暴力叫做 –> 二維 Dijkstra+堆

int dis[3025][3025];
inline void make(int x)
{
    memset(visit,0,sizeof(visit));

    priority_queue< pair<int,int> >que;
    que.push(make_pair(0,x));

    dis[x][x]=0;

    while(!que.empty())
    {
        pair<int,int> s=que.top();
        que.pop();
        visit[s.second]=true;

        for(int u=first[s.second];u;u=edge[u].next)
            if(!visit[edge[u].to]&&dis[x][edge[u].to]>dis[x][s.second]+edge[u].len)
            {
                dis[x][edge[u].to]=dis[x][s.second]+edge[u].len;
                que.push(make_pair(-dis[x][edge[u].to],edge[u].to));
            }
    }   
}
inline void check(int x,int y)
{
    int cnt=0;

    for(int i=1;i<=n;++i)
        if(dis[x][i]==dis[y][i])
            ++cnt;

    cout<<cnt<<endl;    
}
if(m<=3000) 
        for(int i=1;i<=n;++i)
            make(i);

    for(int i=1;i<=m;++i)
    {
        int a,b;

        a=read(),b=read();

        if(a==b) cout<<n<<endl;
        else     check(a,b);
    }

这里写图片描述


↓↓↓哦?題目中還有一種情況↓↓↓
这里写图片描述


於是開開心心 20min –> 40分 入手~

这里写图片描述


T3:表示“拆網線”是個什麽鬼?为啥要拆网线去取暖?

考後出題人說他出的數(樹)據長這樣:
这里写图片描述

这里写图片描述这里写图片描述这里写图片描述

恩恩…


題解表示這只是一道簡單的DP:
这里写图片描述


當然也有大佬用貪心的高超姿勢…AC AK了…以及網絡流的…
这里写图片描述


自己表示自己一點思路都沒有…

这里写图片描述


交一個期望0分的暴力…(只能過樣例)

inline void work()
{
    if(k&1) cout<<((k+1)>>1)<<endl;
    else    cout<<(k>>1)<<endl;
}

結果?

这里写图片描述

2333333333333333333333333333333……………………
这里写图片描述


呵呵…這次測試大概就是這樣的了,呵呵…
这里写图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值