首页 > 其他分享 >test

test

时间:2024-09-04 15:36:45浏览次数:6  
标签:fr int qs test inline include getchar

#include<iostream>
#include<algorithm>
#include<tuple>
#include<map>
#include<cassert>
#ifdef ONLINE_JUDGE
#define getchar() (p_==q_&&(q_=(p_=b_)+fread(b_,1,s_,stdin),p_==q_)?-1:*p_++)
#define putchar(x_) ((r_-o_<s_)?(*r_++=x_):(flush(),r_=o_,*r_++=x_))
#endif
#define inline inline __attribute__((__always_inline__))
#define flush() (fwrite(o_,r_-o_,1,stdout),fflush(stdout),0)
using namespace std;constexpr int s_=1<<20;char b_[s_],o_[s_],*p_=b_,*q_=b_,*r_=o_;template<class T_>inline bool fr(T_&x_){x_=0;char c_=0,f_=0;do{if(c_=='-')f_=1;if((c_=getchar())==-1)return 0;}while(c_<48||c_>57);do {x_=x_*10+c_-48;if((c_=getchar())==-1)break;}while(c_>47&&c_<58);if(f_)x_=-x_;return 1;}template<class T_>inline void fw(T_ x_){char d_[40],l_=-1;if(x_<0)x_=-x_,putchar('-');do d_[++l_]=x_%10+48;while(x_/=10);do putchar(d_[l_]);while(~--l_);}

#define ll long long
constexpr int maxn=1e5+10;

int n,m;
int a[maxn];
struct _qs{int l,r,A,B,id,blk;}qs[(int)1e6+10];
int ans[(int)1e6+10];

#define bsiz 200
#define _blk(x) ((x)-1)/bsiz+1
int cnt[maxn];int sum[bsiz+10];
inline void ins(int i){
    if(cnt[a[i]]==0)sum[_blk(a[i])]++;
    cnt[a[i]]++;
}
inline void del(int i){
    cnt[a[i]]--;
    if(cnt[a[i]]==0)sum[_blk(a[i])]--;
}
inline int query(int A,int B){
    int lid=_blk(A),rid=_blk(B);int res=0;
    if(lid==rid){
        for(int i=A;i<=B;i++)res+=!!cnt[i];
        return res;
    }
    for(int i=A;i<=lid*bsiz;i++)res+=!!cnt[i];
    for(int j=lid+1;j<=rid-1;j++)res+=sum[j];
    for(int i=B;i>=(rid-1)*bsiz+1;i--)res+=!!cnt[i];
    return res;
}
#undef bsiz
inline void modui(){
    int bsiz=__builtin_ceil(n/__builtin_pow(m,0.5));
    for(int i=1;i<=m;i++){
        int l,r,A,B;fr(l),fr(r),fr(A),fr(B);
        qs[i]={l,r,A,B,i,(l-1)/bsiz+1};
    }
    sort(qs+1,qs+m+1,[](const _qs &a,const _qs &b){
        if(a.blk!=b.blk)return a.blk<b.blk;
        return a.blk&1?a.r<b.r:a.r>b.r;
    });
    int l=1,r=0;
    for(int i=1;i<=m;i++){
        while(l>qs[i].l)ins(--l);
        while(r<qs[i].r)ins(++r);
        while(l<qs[i].l)del(l++);
        while(r>qs[i].r)del(r--);
        ans[qs[i].id]=query(qs[i].A,qs[i].B);
    }
}

signed main(){
    // ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    // freopen("1.in","r",stdin);
    // freopen("1.out","w",stdout);

    fr(n),fr(m);
    for(int i=1;i<=n;i++)fr(a[i]);
    modui();
    for(int i=1;i<=m;i++)fw(ans[i]),putchar(10);
    exit(flush());
}

标签:fr,int,qs,test,inline,include,getchar
From: https://www.cnblogs.com/liugh1010/p/18396659

相关文章

  • Pytest解决报告日志等相对路径问题
    我们在使用pytest搭建测试框架时,有时候为了方便会将生成报告/日志等参数直接作为默认参数配置在pytest.ini中,如pytest.ini[pytest]addopts=-v--html=reports/report.html--alluredir=reports/allure_resultslog_file=logs/test.log需要pipinstallpytestpytest-h......
  • test
    1、dns报文使用的是udp服务还是tcp服务UDP数据包的大小较小。UDP数据包不能大于512个字节。因此,任何需要传输大于512字节的数据的应用程序都需要TCP。例如,DNS出于下面所述的有效原因同时使用TCP和UDP。UDP消息不大于512字节,如果大于此大小,则会截断。DNS使用......
  • The 2023 ICPC Asia Nanjing Regional Contest (The 2nd Universal Cup. Stage 11: Na
    C-PrimitiveRoot题意给定p与m(p为质数),已知(g^(P-1))%P==1且g<=m。求g的个数。思路由(g^(P-1))%P==1与异或性质a-b<=a^b<=a+b,可以推出g=((k*p+1)^(p-1))与p*(k-1)+2<=g<=p*(k+1)。又因为g<=m,则当p*(k+1)<=......
  • TS4+Vite+Vitest+Vitepress Vue3.3 自主打造媲美ElementPlus的组件库
    TS4+Vite+Vitest+VitepressVue3.3自主打造媲美ElementPlus的组件库这个问题看起来是想要创建一个类似ElementPlus的Vue组件库,并且使用TypeScript、Vite、Vitest和Vitepress进行开发。以下是一个简化的指南,用于创建一个自己的Vue组件库项目框架。安装必要的工具:npm......
  • 基于FPGA的QPSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不
    1.算法仿真效果       本系统在以前写过的QPSK调制解调系统的基础上,增加了高斯信道模块,误码率统计模块,可以验证不同SNR情况下的QPSK误码情况。 vivado2019.2仿真结果如下(完整代码运行后无水印): SNR=15DB   SNR=10DB   SNR=5DB   SNR=1DB ......
  • 基于FPGA的QPSK调制解调系统,包含testbench,高斯信道模块,误码率统计模块,可以设置不
    1.算法仿真效果本系统在以前写过的QPSK调制解调系统的基础上,增加了高斯信道模块,误码率统计模块,可以验证不同SNR情况下的QPSK误码情况。vivado2019.2仿真结果如下(完整代码运行后无水印):SNR=15DBSNR=10DBSNR=5DBSNR=1DB系统RTL结构图:2.算法涉及理论知识概要QPSK是一种数......
  • H. Sakurako's Test
    H.Sakurako'sTestSakurakowillsoontakeatest.Thetestcanbedescribedasanarrayofintegers$n$andataskonit:Givenaninteger$x$,Sakurakocanperformthefollowingoperationanynumberoftimes:Chooseaninteger$i$($1\lei\len$......
  • pytest中用装饰器控制新增接口请求时间
    示例场景假设我们有一个提交数据的函数submit_data,我们希望在每次调用后等待一定的时间,以避免重复提交的问题。1.自动化提交接口的时候可以使用time.sleep()的方式这是最直接的方式,在函数调用后直接使用time.sleep()控制等待时间。importtimedefsubmit_data(da......
  • pycharm警告 :PytestConfigWarning: Unknown config option: makers
    一、PytestConfigWarning:Unknownconfigoption:makers虽然不影响执行测试用例,但是,追求完美的我很想解决掉他! 二、找报错的单词在哪,大概率这种报错在ini文件我的makers在pytest.ini。起初是想打标签,但是标签的注解是@pytest.mark.xxx,所以就把makers改成了markers,果然没有......
  • 2022-2023 ICPC East Central North America Regional Contest (ECNA 2022):JL
    前言这场状态绝对不对劲,rk倒1没啥可说的。A.A-MazingPuzzle这题绝对能做!等我抽空回来补!(不挂在这的话,说不定就摆烂了)J.SimpleSolitaire题意英语阅读理解。自己读去。解法也不写了,纯暴力模拟。认罪认罚具结书好像是第一次当战犯吧。大约3个半小时的时候,我自告奋勇做这......