首先呢,祝贺我谷聚聚成功夺冠而且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!
第一次好吗!独立写!(原来都是看着题解写。。。)