
小技巧
SMT0x400
时不时更新。只保留了比较精彩的东西。
展开
-
[技巧]一些c++的技巧[待填坑]
1.template template<typename T>void swap(T&a,T&b){ T c=a;a=b;b=c; }原创 2021-08-19 21:29:10 · 156 阅读 · 0 评论 -
[水] 代码习惯
1.文件头 一般用万能头。 #include<bits/stdc++.h> using namespace std; 然后有些时候卡常用 cstdio 。 using namespace std; 一般会写,但是卡常时不会。 2.代码风格 if(...){ ... }else{ ... } 贴着大括号写代码。没有一点空格。 for(RI i=1;i<=n;++i){ ...; ...; }for(RI i=1;i<=m;++i) ...,...; 不用大括号的基本不用原创 2021-08-13 18:50:05 · 92 阅读 · 0 评论 -
[USACO20FEB]Swapity Swapity Swap
这道题刚入手,我的第一反应就是:暴力模拟! 没啥好说的,直接reverse kkk 遍,时间复杂度 O(nmk)\operatorname{O}(nmk)O(nmk) ,还似乎吃得消。 结果我看了看数据范围,就吓得一身冷汗。。。 k≤109,n≤105,m≤102k\le 10^9,n\le10^5,m\leq10^2k≤109,n≤105,m≤102 这模拟只能骗到 202020 分(以内)啊? 我于是开始找规律,结果啥规律也找不出,对于每个数据,都有不同的规律,循环节也不好计算。 那——要不使用判断循原创 2021-07-12 19:50:54 · 421 阅读 · 0 评论 -
[小技巧]超级快读
纯属原创。 namespace IO{ const int RBSIZE=___,WBSIZE=___; char CH,id,RBUF[RBSIZE],*p1=RBUF,*p2=RBUF,WBUF[WBSIZE],*Op=WBUF,OTBF[40];int FL,OTSZ;double pfl; inline char gc(){if(p1==p2)return (p1=RBUF,p2=p1+fread(RBUF,1,RBSIZE,stdin)),p1==p2?EOF:*p1++;return *p原创 2021-07-10 07:42:12 · 579 阅读 · 0 评论 -
[洛谷] 题解 P1923 / 基数排序 详解
基数排序的解法。 1.基数排序是什么? 顾名思义,它是透过键值的部份资讯,将要排序的元素分配至某些“桶”中,藉以达到排序的作用,基数排序法是属于稳定性的排序,其时间复杂度为O(nlogrm)O (n\log_rm)O(nlogrm),其中 rrr 为所采取的基数,而 mmm 为堆数,在某些时候,基数排序法的效率高于其它的稳定性排序法。——来自 百度百科 其实就是说,nnn 个数,令 iii 从 111 开始,以第 iii 位为关键字。 申请一个长度为 rrr 的桶,每个桶装 对于 aaa 数组中的每原创 2021-07-09 22:24:03 · 715 阅读 · 1 评论