关闭

UOJ 133 [UR #9]电路手动分析

标签: UOJ-133
144人阅读 评论(0) 收藏 举报
分类:

二分。

刚开始做这题的时候,只是脑补出了这种做法,直觉告诉我它应该是对的,但并不会证明。
抱着试试看的心态打了一发,居然A了……

题解:http://vfleaking.blog.uoj.ac/blog/694

#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
int main()
{
    long long n, m, r, left, right;
    scanf("%lld%lld%lld",&n,&m,&r);
    left=1, right=n*m;
    if(!r)
    {
        return !printf("%lld\n",min(n*m,2ll));
    }
    else if(n==1||m==1)
    {
        while(left<right)
        {
            long long mid=(left+right+1)>>1;
            if((mid-1)*(mid-2)/2<=r)left=mid;
            else right=mid-1;
        }
    } 
    else
    {
        while(left<right)
        {
            long long mid=(left+right+1)>>1, pre, s, h;
            s=sqrt(mid);
            h=mid-s*s;
            if((s+1*(h!=0))<=n && (s+1*(h!=0))<=m)
            {
                pre=2*(s-1)*(s-1)+2*s-2;
                if(h)pre+=(h-1)*2+1;
                if(h>s)pre+=(h-s-1)*2+1;
            }
            else
            {
                s=min(n,m);
                h=mid/s;
                pre=2*(s-1)*(h-1)+s+h-2;
                h=mid%s;
                if(h)pre+=(h-1)*2+1;
            }
            if(1.0*mid*(mid-1)/2<=r+pre)left=mid;
            else right=mid-1;
        }
    }
    printf("%lld\n",left);
    return 0;
} 
1
0
查看评论

【UR #4】元旦激光炮

uoj 传送门 第一次做交互题,大概明白了是啥意思,就是写一个函数,帮助实现一个操作。 题目中有要求,调用题目中给出的可以用的函数次数越少越好,这就是优化所在。 这道题就是在三个升序数组中找所有数的第K大,我们要尽量少用题目中已给出的函数。 我们每次现在三个数组中找出第k/3大,k-=k/3...
  • qq_36820605
  • qq_36820605
  • 2017-08-19 10:08
  • 176

[UOJ34]FFT && NTT 模板

到底为什么这么慢啊 FFT #include #include #include #include #include #define SF scanf #define PF printf using namespace std; typedef long long LL; inline int ...
  • shiyukun1998
  • shiyukun1998
  • 2015-07-03 15:50
  • 874

【uoj34】NTT模板

转载质数原根表: http://blog.miskcoo.com/2014/07/fft-prime-table #include #include #include #define ll long long using namespace std; inline int read() { ...
  • w_yqts
  • w_yqts
  • 2018-01-22 23:14
  • 44

uoj #152. 【UR #10】汉诺塔

#152. 【UR #10】汉诺塔  统计  描述 提交 自定义测试 picks 博士乘上时光机器,打算回到 2012 年化身马猴烧酒阻止金星凌日,挽救世风日下的 OI 界于水火之中。 但是不幸的是,时光机器出现了一些特殊的故障,pic...
  • clover_hxy
  • clover_hxy
  • 2016-05-25 08:03
  • 301

UOJ 22 [UR #1]外星人

DP+推式子+组合数+逆元我们发现如果ai<=aj,那么x mod ai = x mod ai mod aj,即模了小的数,大的数模不模就都一样。于是我们发现x的值的变化仅和小于等于x的a有关。于是可以记f[i]表示x=i的最大答案,这个可以O(nx)DP出来,第一问解决。我们发现从i变化到i...
  • ziqian2000
  • ziqian2000
  • 2016-10-15 18:12
  • 258

【NTT模板】[UOJ#34]多项式乘法

原根和单位复根差不多,可以看做绕着p的剩余系绕了一圈,代码和FFT类似。 uoj #34 多项式乘法#include<cstdio> #include<cstring> #include<algorithm> using namespace std; #defi...
  • outer_form
  • outer_form
  • 2016-06-19 00:38
  • 1017

UOJ #134(【UR #9】App 管理器-tarjen+构造)

给一张混合图的无向边定向,使得原图强连通,题目保证有解。显然,如果只有无向边,那么原图必边强连通,故用tarjen走一遍就行。 现在考虑有有向边的情况, 对于一条无向边,把它从图中删除,因为原图强连通,故 - 存在一条路径从u到v - 存在一条路径从v到u 必然满足一条。 若只满足一条,...
  • nike0good
  • nike0good
  • 2015-10-05 21:40
  • 557

[UOJ #82][UR #7]水题生成器

原题链接emm 第一次听说这种东西呢 阶乘进位制#include<iostream> #include<cstring> #include<algorithm> #include<cstdio> #include<cmath> #inc...
  • qq_36920028
  • qq_36920028
  • 2017-08-19 09:23
  • 68

UOJ #60 [UR #5] 怎样提高智商

构造
  • SenyeLicone
  • SenyeLicone
  • 2017-07-09 08:06
  • 455

UOJ 75 [UR #6]智商锁

随机化+矩阵树定理好神的做法(官方题解)。。。怒膜jry一直陷在基尔霍夫矩阵的坑里,以为能通过一些数学技巧反推出合理地矩阵?真是naive。一个重要的思路是:一张图的生成树个数等于把桥边割掉之后剩下的所有子图的生成树个数之积。 这是显然的,毕竟桥边不会贡献答案,而环的贡献可以分开考虑。发现这玩意儿可...
  • ziqian2000
  • ziqian2000
  • 2017-02-10 23:42
  • 234
    个人资料
    • 访问:71452次
    • 积分:3695
    • 等级:
    • 排名:第10447名
    • 原创:308篇
    • 转载:0篇
    • 译文:0篇
    • 评论:24条
    公告
    欢迎您 !
    由于博主是一个蒟蒻,
    如有错误之处还望指出!
    o( =•ω•= )o
    神犇们的博客
    文章分类