- 博客(7)
- 收藏
- 关注
原创 HDU 2571 命运 DP
一个比较简单的DP,首先设地图是i行j列,(i:1~m,j:1~n); 开一个数组DP[M+1][N+1],表示到第i行第j列最大幸运值。 先处理边界情况:第i行1列的可以先处理出来。 之后第i行第j列可能从以下几种情况转移过来: 1.i>1,dp[i-1][j],即从上一行转移过来 2.dp[i][j-1],从前一列转移过来 3.可能从dp[i][z]转移过来,{z|1<=z<=j,&
2016-11-19 16:02:55 379
原创 UVA 11624 Fire! BFS+技巧
大致题意: 有意思的一道搜索题,大意是说一个人在森林里,森林里着火了,问能不能走出去。 其中’F’代表火源,可能不止一个,然后火势会向上下左右四个方向蔓延。解题思路: 将’F’火源先放入队列,再把人物所在位置放队列中,这样就像回合制游戏一样,火势先手,处理好蔓延的火势,又放入队列中,接着再处理人。AC代码:
2016-11-19 15:54:03 313
原创 POJ3150Cellular Automaton 矩阵快速幂+优化
http://vjudge.net/problem/POJ-3150 题解比较好推出转移矩阵: 1 1 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 1 但是矩阵相乘500*500*500*log(k)还是会超时 可以观察这个转移矩阵,其实只知道第一行就可以推出每行,每列,所以保留第一行作为转移矩阵,这样就从N^3变成了N^2。#includ
2016-11-18 13:00:48 304
原创 HDU 4920
矩阵乘法的优化,比如矩阵A(M*N)*矩阵B(N*M),如果按正常求矩阵的套路来:for(int i=0;i<m;i++) for(int j=0;j<n;j++) for(int k=0;k<n;k++) C[i][j]+=(A[i][k]*B[k][j])这是按照矩阵乘法定义来求的,但是这个题目是对3取余,那么会出现大量的0,如果说矩阵A中第i,k个元素
2016-11-15 17:56:11 302
原创 POJ 3070 Fibonacci
最近学了矩阵快速幂,这个算法主要是解决递推公式的快速求解,写法和快速幂差不多,首先得写好一个矩阵的结构体,重载下运算符,后面主要就是如何构健表示出递推关系的矩阵了,这题是裸地模板题。#include<algorithm> #include<iostream> #include<cstring> #include<cmath> #include<stdio.h> using namespace std
2016-11-15 17:45:01 250
原创 ICPC区域赛北京站
第一次来帝都,其实也没什么不一样的感觉,虽然自称旅游队,但是其实我真的不是个喜欢旅游的人,住的酒店正好在田博士实习的地方--微软大厦对面,(膜拜田博士···),这家汉庭的早饭包子真的好吃·····,下午热身赛,张老师也是贼浪,教练牌给我,让我打一半去开会(懵逼脸),教练餐券也给我了让我去参加教练晚宴(懵逼脸*2),然后去找老同学了(不知道是男是女(抠鼻屎)),热身赛一题木有做·······,虽然两个
2016-11-14 13:19:57 565
原创 HDU 2005 java
hdu 2005 javapublic static void main(String[] args)throws Exception { SimpleDateFormat df=new SimpleDateFormat("yyy/MM/dd"); GregorianCalendar date=new GregorianCalendar(); Scanner cin=new
2016-11-02 14:36:39 534
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人