2017年08月04日

来源:互联网 发布:决战武羽扇进阶数据 编辑:程序博客网 时间:2024/05/29 15:33

今天做题:

ac自动机和网络流。。
ac自动机:
https://vjudge.net/contest/175599#problem/D
参考这个的。。这种状态压缩应该是一种套路,,可是我连dp都想不出,更加别说记住这个套路了。。。(花了挺久弄这题,也有启发不能这样学。。。)
http://blog.csdn.net/u011345136/article/details/40185135

https://vjudge.net/contest/175599#problem/D
这题的状态压缩应该是挺普遍的吧。。学学 

网络流:
https://vjudge.net/contest/173971#problem/L
然而没有找出自己为什么TLE了。。交了别人的代码。。
之后看了师兄的代码,发现师兄用数组实现queue好熟啊。。
学习下。

    int pre=0,tail=1;    q[0]=s;    while(pre<tail){        int u=q[pre++];        inq[u]=0;        for(int i=head[u];~i;i=edge[i].nxt){            int v=edge[i].v;            if(d[v]>d[u]+edge[i].w){                d[v]=d[u]+edge[i].w;                if(!inq[v]){                    q[tail++]=v;inq[v]=1;                }            }        }    }**重点内容**

昨天的div2 
1:http://codeforces.com/problemset/problem/835/C (前缀和)还是要看别人的代码。。。 而且发现树状数组也不会。。
2:http://codeforces.com/contest/835/problem/D  dp
这个回文串他们说简单。。有点题意,题解都看不懂
http://www.cnblogs.com/yyf0309/p/7267342.html
http://blog.csdn.net/a664607530/article/details/76512465

https://vjudge.net/problem/26842倍真法+dp 刚学倍真法。。  还是熟悉下好。

今日多校赛。。
https://vjudge.net/contest/176221#problem/K
绝了,一道水题,我思考那么久,而且debug那么久才发现自己的错误。。
而且还错了。。
还要看别人的代码,突然发现自己小题大作了。。

https://vjudge.net/contest/176221#problem/E  最短路+取模
挺好的一道提,
参考http://blog.csdn.net/yasola/article/details/76684704

这里面应该有挺多题是那种套路的。然而不会

https://vjudge.net/contest/176221#problem/G  
这题自己想着想着YY出来了。。不过我应该敲不出来。。。
今天敲了也有一个小时了,觉得其实这个地方的topsort我是想不出来的。

https://vjudge.net/contest/176221#problem/C  质数分解
这题要用到质数分解,,特别不会,不过应该是套路吧,要学学。。‘
什么约数个数定理自己一点都不知道。。。

你只需要掌握前面的命令,你就可以很舒服的使用VIM了。但是,现在,我们向你介绍的是VIM杀手级的功能。下面这些功能是我只用vim的原因。
在当前行上移动光标: 0 ^ $ f F t T , ;

    0 → 到行头    ^ → 到本行的第一个非blank字符    $ → 到行尾   **g_ → 到本行最后一个不是blank字符的位置。(×××)    fa → 到下一个为a的字符处,你也可以fs到下一个为s的字符。    t, → 到逗号前的第一个字符。逗号可以变成其它字符。**    3fa → 在当前行查找第三个出现的a。    F 和 T → 和 f 和 t 一样,只不过是相反方向。    Line moves

还有一个很有用的命令是 dt” → 删除所有的内容,直到遇到双引号—— ” 下面,让我来说说最强的光标移动:

    % : 匹配括号移动,包括 (, {, [. (陈皓注:你需要把光标先移到括号上)    * 和 #:  匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)

区域选择 a 或 i

在visual 模式下,这些命令很强大,其命令格式为

a 和 i  (好到爆)

action可以是任何的命令,如 d (删除), y (拷贝), v (可以视模式选择)。object 可能是: w 一个单词, W 一个以空格为分隔的单词, s 一个句字, p 一个段落。也可以是一个特别的字符:"、 '、 )、 }、 ]。

假设你有一个字符串 (map (+) (“foo”)).而光标键在第一个 o 的位置。

    vi" → 会选择 foo.    va" → 会选择 "foo".    vi) → 会选择 "foo".    va) → 会选择("foo").    v2i) → 会选择 map (+) ("foo")    v2a) → 会选择 (map (+) ("foo"))

块操作:

块操作,典型的操作: 0 I– [ESC]

^ → 到行头<C-v> → 开始块操作<C-d> → 向下移动 (你也可以使用hjkl来移动光标,或是使用%,或是别的)I-- [ESC] → I是插入,插入“--”,按ESC键来为每一行生效。

Rectangular blocks