zoukankan      html  css  js  c++  java
  • Ball CodeForces

    题目链接:https://cn.vjudge.net/problem/CodeForces-12D

    题目大意:给你一个人的三个信息,如果存在一个人比当前人的这三个信息都大,那么这个人就会退出,问你最终有多少人退出。

    具体思路:首先按照x的大小排序,大的在前面,然后对y进行离散化,其次就该使用线段树了,将y表示成区间,每一次更新的是y当前的到最大节点,然后线段树中储存的是z值,这样的话,每一次查询,在保证x变大的同时,通过对当前y+1-》siz的区间的z值的最大值,就能判断了。

    AC代码:

     1 #include<iostream>
     2 #include<stack>
     3 #include<stdio.h>
     4 #include<map>
     5 #include<cstring>
     6 #include<string>
     7 #include<cmath>
     8 #include<queue>
     9 #include<algorithm>
    10 using namespace std;
    11 # define lson l,m,rt<<1
    12 # define rson m+1,r,rt<<1|1
    13 # define ll long long
    14 const int maxn = 1e5+100;
    15 ll sto1[maxn],sto2[maxn];
    16 ll sto3[maxn];
    17 ll cal(ll t1,ll t2)
    18 {
    19     ll tmp=0;
    20     while(t2)
    21     {
    22         tmp+=(t2/t1);
    23         t2/=t1;
    24     }
    25     return tmp;
    26 }
    27 int main()
    28 {
    29     ll n,m,tmp;
    30     scanf("%lld %lld",&n,&m);
    31     tmp=m;
    32     int num=0;
    33     for(ll i=2; i*i<=m; i++)
    34     {
    35         int res=0;
    36         if(tmp%i==0)
    37         {
    38             sto1[++num]=i;
    39             while(tmp%i==0)
    40             {
    41                 tmp/=i;
    42                 res++;
    43             }
    44               sto2[num]=res;
    45         }
    46     }
    47     if(tmp!=1)sto1[++num]=tmp,sto2[num]=1;
    48     for(int i=1; i<=num; i++)
    49     {
    50         sto3[i]=cal(sto1[i],n);
    51        // cout<<sto1[i]<<" "<<sto2[i]<<" "<<sto3[i]<<endl;
    52     }
    53     ll minn=9e18+1;
    54     for(int i=1; i<=num; i++)
    55     {
    56         minn=min(minn,sto3[i]/sto2[i]);
    57     }
    58     printf("%lld
    ",minn);
    59     return 0;
    60 }
  • 相关阅读:
    Springboot中mybatis控制台打印sql语句
    CTF资源
    Python渗透测试工具合集
    哪些方法可以绕过PowerShell Execution Policy?
    路由器漏洞挖掘使用的脚本
    路由器漏洞挖掘(栈,危险函数,方法)
    路由器漏洞挖掘环境搭建
    MIPS 汇编指令学习
    Linux下安装Sublime Text 3 及使用快捷方式
    Ubuntu 16.04 安装Python 3.6
  • 原文地址:https://www.cnblogs.com/letlifestop/p/10362661.html
Copyright © 2011-2022 走看看