考试备忘录(有新的就会更的。。。)

考试备忘录(有新的就会更的。。。)

标签:有用的东西(≧▽≦)/啦啦啦
阅读体验:https://zybuluo.com/Junlier/note/1312002

考场配置\((emacs)\)

是时候弄一发考场配置了。。。
很多东西可以在\(option\)里面弄好,您可以告诉笔者更多可以在\(option\)里面弄的东西!!!

  1. 主题色很重要:\(option\)里面最下面\(Customize\ Emacs\)点开有一个\(themes\),自己选
  2. \(C\)$c,C$\(v,C\)^\(x\)还是很重要的,直接在\(option\)里找这三个字符就\(ok\)
  3. 上面那一栏没有用的东西还是关掉比较好。。。\(option\)里面\(show/hide\)\(tool\ bar\)给他\(none\)
  4. 光标总是闪是不是很烦躁:\(option\)里面\(Blink\ Cursor\)关掉就好
  5. 最关键的:别忘了\(save\ option\)保存一下(这些控制的代码会出现在\(.emacs\)里面)
    最好是多按几次保险。。。(没开玩笑!)
  6. 显示行号可以Alt-x输入\(linum\),但这个每一篇代码都要打

然后一些找不到的你就手打吧(或者你帮笔者在\(option\)里找到了告诉我一声呗。。。)
其实\(emacs\)的配置根据意思也还是比较好记的辣(PS:配置的注释是;;,为了好看点我这里改成了//)

(global-set-key (kbd "RET") 'newline-and-indent)
(setq c-default-style "awk")        //自动换行缩进(长度为4)
(setq-default cursor-type 'bar)     //光标形状(从一坨变成一条杠)
(global-linum-mode t)               //显示行号(调试配置是否正确用(滑稽))


---下面的笔者考场不想用,你们看着办


//C^a全选
(global-set-key (kdb "C-a") 'mark-whole-buffer)

//把emacs弄得半透明。。。
(set-frame-parameter (selected-frame) 'alpha (list 85 80))

//<F9>一键编译(贼长啊。。。)
(global-set-key [f9] 'compile-file)
(defun compile-file ()
  (interactive)
    (global-set-key (kdb "<f9>") 'compile-file)
(global-set-key [f10] 'gud-gab)
  (compile (format "g++ -o '%s' '%s' -g -lm -Wall" (file-name-sans-extension (buffer-name))(buffer-name))))

做题技巧(多看一看)

写题技巧

  • 看到最大值最小别忘了二分答案
  • 看到各种状态的关系可以往图论转换
  • 看到相关状态仔细想\(dp\)
  • 贪心题是最难判断的,但是什么题你都贪心写个不一定对的就可以了
  • 永远不要主观臆断的刚题,哪怕你只差一个精度(这个还是刚一下吧。。。
  • 组合数可以转化成网格格路问题
  • 序列上区间操作考虑序列分治
  • 最大值最小值的询问可以考虑各种相关数据结构
  • 需要处理一个元素两边的大于或小于它的值考虑单调栈

策略问题

  • 永远不要主观臆断的杠题,哪怕你只差一个精度(这个还是刚一下吧。。。

  • \(T1\)只能写到\(9:30\)\(T2\)\(T3\)难度写到\(10:30\)之前,剩下时间写\(T3\)
    可以适当的节约前面题目的时间来写后面题目的暴力,再去写正解

特别注意

  • 当有读入数据位于\(long\ long\)范围时,不仅变量要改\(long\ long\),记得吧读入优化也改了
    如果可以取膜的话,最好直接\(=read()\%MOD\)

代码备忘录

二分反正短就直接放上来

rgt le=0,ri=Inf,mid;
while(le<=ri)
{
    mid=(le+ri)>>1;
    if(check(mid))Ans=mid,ri=mid-1;
    else le=mid+1;
}//最大值最小

\(Exgcd\)反正短就直接放上来

lst Exgcd(lst a,lst b,lst &x,lst &y)
{
    if(!b){x=1,y=0;return a;}
    lst ss=Exgcd(b,a%b,x,y),t;
    t=x,x=y,y=t-a/b*y;return ss;
}
//直接背板子然后直接用,返回的值ss是a和b的GCD
//反正特解在x里面了就行了。。。一些题目也可以好好运用这个GCD。。。

\(Kmp\)不短但必须放上来

il void Get_Nxt()
{
    for(rg int i=1,j=0;i<lent;++i)
    {
        while(T[j+1]!=T[i]&&j)j=Nxt[j];
        if(T[j+1]==T[i])++j;Nxt[i]=j;
    }
}//字符串下标从0开始
//匹配的话直接匹配,失配则暴跳Nxt[]

\(Pai\)必备啊

int T=0;
while(233)
{
	system("./Rand");	
	system("./test");
	system("./STD");
    if(!system("diff test.out STD.out"))
		printf("AC Case#%d\n",++T);
	else{printf("WA!!!Case#%d\n",++T);break;}
}return 0;

\(Splay\)记得随时Splay(now,0)
\(Rand()\)记得srand(time(NULL))#include<ctime>

posted @ 2018-10-16 15:00  Eternal风度  阅读(300)  评论(3编辑  收藏  举报
/*自定义地址栏logo*/