- 博客(12)
- 问答 (7)
- 收藏
- 关注
原创 URAL - 1145 Rope in the Labyrinth
/*题意:给你一个矩阵,里面的数字只有0和1两种,其中,列可以任意移动。问如何移动可以使某个子矩阵中元素全部是1,求出这个最大子矩阵的面积。对每一行进行处理然后再叠加,到每一行用num[i]记下到这一行有多少个1例如: 1 0 1 1 num[i]的记录就是: 1 0 1 1 1 0 0 1
2015-02-09 19:26:07 977
原创 HDU 2830 Matrix Swapping II(最大完全子矩阵之可移动列)
/*题意:给你一个矩阵,里面的数字只有0和1两种,其中,列可以任意移动。问如何移动可以使某个子矩阵中元素全部是1,求出这个最大子矩阵的面积。对每一行进行处理然后再叠加,到每一行用num[i]记下到这一行有多少个1例如: 1 0 1 1 num[i]的记录就是: 1 0 1 1 1 0 0 1
2015-02-09 14:42:36 637
原创 URAL 1147 Shaping Regions
/*题意:一个10000*10000的矩阵,初始颜色都为1,然后最多2500次涂色,每次涂色将一个矩形的面积涂成某个特定颜色,问涂完之后每种颜色最终的面积。 解法:倒序计算,矩形切割*/# include # include # include # include # include using namespace std;struct node{ int x1,
2015-02-08 21:50:45 465
原创 hdu 1503 Advanced Fruits (LCS)
/*题意:将两个字符串结合起来,他们的公共子串只输出一次思路:根据LCS的原理,将每个字符都进行标记,看两个字符串中对应的字符究竟处于什么状态,然后输出,其标记为公共子串的字符只输出一次即可*/# include # include # include # include using namespace std;int dp[110][110],pre[110][110];
2015-02-06 11:01:32 679
原创 hdu 1524 A Chess Game (SG)
题意:在一个有向无环图上有n个顶点,每一个顶点都只有一个棋子,有两个人,每次根据这个图只能将任意一颗棋子移动一步,如果到某一步玩家不能移动时,那么这个人就输.分析:本题是最典型的有向无环图的博弈,利用dfs把所有顶点的SG值都计算出来,然后对每个棋子的SG值进行异或运算,如果为0就是先手必败,否则就是先手必胜.如果某个人移动到出度为0的顶点,
2015-02-05 20:09:22 541
原创 POJ 2311 Cutting Game (sg函数)
给出一个N*M的纸片,每一次可以把一部分剪成两部分,谁剪出1*1的就赢了。http://poj.org/problem?id=2311对于任何一个人,都不会先剪出1*n或者n*1,应该这样就必败了。那我们考虑一个状态的后继中,最小的边也是2,这样就可以避免之前的问题,也不需要考虑类似ANTI-SG。一旦出现2*2,2*3,3*2,这些都成了终止状态,不论怎么剪都
2015-02-05 16:06:14 835
原创 zoj 3041 City Selection
/*这题是给了N个可选城市的坐标和M个工厂的坐标。如果一个城市的左上方(西北)有工厂,这个地点就被污染了(也就是工厂的右下方向,东南象限)。这个地方就不能建城市了。让你输出可以建城市的地点。想了想,没啥必要离散化啊,直接按 Y 坐标从大往小排序,求出在城市 K 之前 最小的 X坐标。如果这个坐标比K的X坐标小或者相等,则这个城市就被污染了。因为是Y从大往小排,所以不用考虑Y坐标了。*/#
2015-02-04 20:19:10 455
原创 hdu 1536 S-Nim (sg函数模版)
/*题意就是给出一个数组s。为每次可以取石子的数目。然后给你n堆石子每堆si。求解先手能不能赢!标准的sg函数用法题目。计算从1-n范围内的SG值。Array(存储可以走的步数,Array[0]表示可以有多少种走法)Array[]需要从小到大排序1.可选步数为1-m的连续整数,直接取模即可,SG(x) = x % (m+1);2.可选步数为任意步,SG(x) = x;3.可选步
2015-02-04 10:41:27 603
原创 hdu 4681 String (LCS)
/* 题意: 有三个字符串A, B, C。 求串D。 D是A, B的公共子序列。 C是D的子串。 求最长的D串.输出长度. 先求出a,b的最长公共子序列,从开头和末尾开始的都要 其中dp1[i][j]表示a中第i个字符之前,b中第j个字符之前的最长公共子序列长 dp2[i][j
2015-02-03 15:55:59 584
原创 poj 1934 Trip (LCS)
/*按升序输出两个串所有的最长公共子序列首先求出最长公共子序列,然后处理处两个数组,f1['a'~'z'][j]表示该字母在第一个串的前j个字母中出现的最大下标,f2['a'~'z'][j]表示该字母在第二个串的前j个字母中出现的最大下标。现在我们已经知道了最长公共子序列的长度,我们从最后一位开始枚举每一位放什么字母,用dfs来实现,并用前面处理出来的数组进行可行性剪枝。由于最后答案的串
2015-02-02 18:34:49 523
原创 poj 1159 Palindrome (lcs,滚动数组)
/*最少需要补充的字母数 = 原序列S的长度 — S和S'的最长公共子串长度*/# include # include # include # include using namespace std;int dp[2][5010];///滚动数组int main(){ char a[5010]; char b[5010]; int i,j,k,len;
2015-02-02 14:30:15 689
原创 hdu 1159 Common Subsequence (lcs)
/*裸lcs(最大公共子序列)*/# include # include # include # include using namespace std;int c[1010][1010];int main(){ int i,j,lena,lenb; char a[1010],b[1010]; while(~scanf("%s%s",a,b))
2015-02-02 13:24:47 603
空空如也
ffmpeg怎么抽帧取流
2021-05-31
QT连接远程Mysql 库不匹配
2020-10-10
socket上传视频文件,服务端生成的文件不能播放
2020-08-28
数据库查询语句,具体见图片
2017-08-13
如何知道.gz压缩包里源文件的名字
2017-03-26
1.txt压缩成2.txt.gz 解压出来怎么保持原有的文件名 非命令
2017-03-22
c++怎么解压文件 tar.zip gz格式等
2016-12-27
TA创建的收藏夹 TA关注的收藏夹
TA关注的人