首先呢,祝贺我谷聚聚成功夺冠而且4个FB,吊打弱三个题

下面先把会的题写个基本题解,等链接出来开始上代码


A:

题意:判断IP地址是否合法:a.b.c.d,其中a,b,c,d在0到255之间。题中说了不会有空格,Tab和回车作为输入

这种题竟然WA了4,5发,简直了

坑点:数字大小;是否有其他字符;是否只有.;(即...,因为初始化一般会用0,然后这个数据就很坑)


B:

n*m的矩阵,每个点中有不同价值(只能取一次),只能向下向右走,有两个人,问两个人取的价值和最大是多少(n,m最大100)

不会:知道是dp[i][j][k]用四边形优化,看到过这个题到时候去学

不是四边形优化的记忆化DP

最小费用最大流还不会!!!poj3422的原题,改得更简单了,k改成了2

这个题充分反映了之前的学习不扎实!

以前做过!在本子上留过笔记!怎么建图,什么思路是都有的!

一个超级源点一个超级汇点,中间如何拆点?

源点到起点(1,1)容量连2,然后拆点,每个点连两条边,一条容量为1费用为-cost,另一个容量为1(2-1)费用为0

两个终点到汇点正常连边

题解链接:学习就要学扎实,看到不会做有半毛钱用


C:

回文串的dp吧,题目没怎么看

等题解


D:

题意:有m个区间,区间为l,r表示,问若删除第k个区间,第k个区间是否仍然被完整覆盖,这样的k有多少,分别是哪些值?

感觉可以用线段树一直超时的题,我谷告诉我是RMQ,毕竟常数也会有时间啊,太弱

还是坚持自己的想法学会了lazy的线段树,两种代码差别就几行,但是意义完全不一样

lazy线段树


E:

题意:算日期!竟然超时!坑爹的比赛我要吐槽,一个O(1)的1000000次的循环也能超时我真是醉了

给定x1,y1,z1,x2,y2,z2算两个日期的差值

那么我可以给定一个基本日期如1600:01:01

然后算x1,y1,z1和其差值

然后算x2,y2,z2和其差值

两者相减即可


算年份比较麻烦,因为不能用循环,那么年份先得乘365

闰年的天数=4的倍数-100的倍数+400的倍数(容斥来一发)


F:

题意:求最大公约数然后求有多少个,来分解(看完题就懂)

坑点:n=1的时候最大公约数就是自己咯,答案为1

其他的用gcd去循环算就好


G:

不懂题意在干啥,看了我谷的题解之后知道是超大背包问题,二分之后用数据结构搞

超大背包


H:

n个点,初始化就是n-1条边,即最少线路ans=n-1

很简单的并查集思想:如果两个点已经在一个集合了,就不用管;否则,将其合并,然后ans--,表示已经存在一条有意义的边,可以少建立一条线路


I:

水题:判断数组里面有不有1



每个题都总结了一点点吧,等可以补题之后写详细代码来填充!

吐槽一下服务器,弱第一次写线段树竟然卡常数返回TLE!

第一次好吗!独立写!(原来都是看着题解写。。。)