10.21刷题记录

今天上午上课的时候有点头疼 所以没认真想题 之后下午家里又来客人。
效率极其低下的一天。

车站分级 NOIp普及组2013 T4

吐槽一句这题是昨天就知道正解的但是今天早上才ac
就是个简单的拓扑排序 没有经过的点向区间中经过的点连边就好了(画一下图就可以明白)
但是 我昨天智障到把AddEdge写错 之后还没有a是因为边表数组应该开到maxn*maxn (就这么神奇) 再之后是开始建边的时候一个小优化卡了10分

关押罪犯 NOIp提高组2010 T3

这是当年提高组只有四道题的时候的T3
就是个并查集 只需要记住敌人的敌人就是朋友就好(就是敌人的敌人和你必须在一个牢房里面)之后再随便搞搞然后输出 敌人数组e初始化为-1

斐波那契公约数

这道题的关键在于那个重要的结论 代码本身超级短
吐槽我自己的迷之字体……
就是把第m第n项的最大公约数转化为序号的最大公约数

#include<iostream>
#include<cstdio>
using namespace std;
int gcd(int a,int b)
{
    if(!b) return a;
    else return gcd(b,a%b);
}
int n,m;
int f[100000007];
int main()
{
    scanf("%d%d",&n,&m);
    int p=gcd(n,m);
    f[1]=1;
    f[2]=1;
    for(int i=3;i<=p;i++)
    {
        f[i]=(f[i-1]+f[i-2])%100000000;
    }
    printf("%d\n",f[p]);
    return 0;
}

(本来我差点要玩到睡觉 被小姐姐问这道题怎么回事就饿着肚子给她做题 看来小姐姐果然可以帮助学习呀 大雾)

小Z的袜子 bzoj2038

这道题我其实没搞懂 只是抄了黄学长的代码 明天一定一定要去搞懂分块这个奇怪的东西。
反正这题是莫队模版题。就是分块之后再排个序然后搞一搞就好了。

余数求和 CQOI2007

这道题也是分块 可以导出一个奇怪的式子然后发现那个值只有根号k种取值范围
但是我其实也没有懂 /手动滑稽 明天把这些话都删掉好啦

#include<iostream>
#include<algorithm>
#include<cstdio>
using namespace std;
int main()
{
    long long n,k;
    scanf("%lld%lld",&n,&k);
    long long ans=n*k;
    for(long long l=1,r;l<=min(n,k);l=r+1)
    {
        if(k/l!=0) r=min(k/(k/l),n);
        else r=n;
        ans-=(k/l)*(r-l+1)*(l+r)/2;
    }
    printf("%lld",ans);
    return 0;
}

明天的目标是A掉雅加达的摩天楼和剩余的普及组T4
洛谷R4 估计是药丸

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值