自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jiangjiashi的博客

用于纪录些东西吧,证明一些走过的路

  • 博客(64)
  • 资源 (1)
  • 收藏
  • 关注

原创 Coursrs (P1469)

题意: 有P门课,有N个学生,学生可以选 多个课,也可以不选 ,现在要在每一门先这课的人里面选一个学生        做为颗代表。问是否每一门都有代表。解法:用匈牙利算法(虽然不会用,只会套一下模板),用计算得到的需要匹配的数与课程数相等就行#include#includeusing namespace std;//freopen("C://i.txt","r

2012-07-31 16:52:27 608

转载 Machine Schedule (P1325)

第一次接触这样的题,#include#include#includeusing namespace std;//freopen("C://i.txt","r",stdin);#define N 301int n,m,k;bool map[N][N];int vist[N];int y[N];bool SearchPath(int x){ int i

2012-07-30 23:24:53 448

原创 (高精度) Adding Reversed Numbers (P1504)

题意:求两个数相加,,不过先是把加数倒置再相加后再倒置输出。其中不能首尾有0的出现。注意:用一个数来存会出问题,所以我还是开了些数组。还是一次,,,省事了。#include#include#includeusing namespace std;//freopen("C://i.txt","r",stdin);#define N 1001int

2012-07-30 18:39:35 536

原创 (高精度) Octal Fractions (P1131)

注意相乘的求余等的顺序#include#includeusing namespace std;//freopen("C://i.txt","r",stdin);#define N 1000001int n;char s[N];int go[N];int ans[N];int main(){ freopen("C://i.txt","r",stdin);

2012-07-30 17:31:49 954

原创 (高精度) Round and Round We Go (1047)

这样的题对于一次AC来说,,我是多少不容易。#include#includeusing namespace std;//freopen("C://i.txt","r",stdin);#define N 1000int n;char a[N];char b[N];int na[N];int nb[N];int c[N];int main(){ freo

2012-07-30 16:32:23 521

原创 Is It A Tree? (P1308)

做出很久以前没有做出来的题的感觉真爽。题意:判断是否是树,满足条件(1、只有一个根;2、每一个儿子只有一个父亲;3、不能自己是自己的父亲;4、两父子不能重复)思路:用并查集记录每一个点的父亲。特别注意:如果有圈,普通的并查集会出现打圈,死循环(现象是:Memorry Exceeded)解决方法:用rank[ ]记录每一个结点记录大概当了多少次父亲

2012-07-30 01:54:42 1369

原创 Constructing Roads (P2421)

这个题做得比较曲折,自己重作了很多次,也修改了很多次。还好知道自己哪 错了,应该注意到什么。意思:给出各点之间的距离,再给出一些点已经修好路,问再最少修多少的路可以使全部点连通(最小生成树的变形)思路:刚开始我就是kruskal +并查集,可是有问题。毅然决定prim+并查集,还是错。后来才发现是优先性上出了         一点问题。其中 prim中先把已经连通的点先

2012-07-30 00:42:24 473

原创 (easy) Ubiquitous Religion (P2524)

#include//#includeusing namespace std;//freopen("C://i.txt","r",stdin);#define N 50001int f[N];int n,m;int ans[N];int find(int k){ if (k==f[k]) return k; return f[k]=find(f[k]);}

2012-07-29 18:17:41 360

原创 Brainman (P1804)

一开始还害得我去用树状数组,结果是错的思路,就是用冒泡排序法就可以了。#include//#includeusing namespace std;//freopen("C://i.txt","r",stdin);#define N 2000008int go[1111];int main(){ freopen("C://i.txt","r",st

2012-07-29 17:30:43 500

原创 Cash Machine (P1276)

这个跟前面做过的一道题很类似,,所以轻松过题意:在存款机里有几种不同面值的货币,各有自己的数量。给定一个取款值。   求出小等于这个值的能取到的最大的数。思路:cash最大为100000,所以令一个这样大的数组,dp[i]是true时表示能取到这个值,   为false时表示不能取到。我是先把面值小的排在前面。(个人认为会快一些)优化:记录更新到的最大值

2012-07-29 00:25:12 458

原创 4 Values whose Sum is 0 (P2785)

这个题真是自己一下就想到的。不过在效率上比较低。4000MS+ 题意:给出四列数,有N排,在每一列中选一个数相加为0.的组合有多少组。思路:这种题数据比较大,用搜索是完全不可能了的。   用两个N*N大小的数组分别把数据的前两列(两列相互对应的,有N*N种情况)的和后两列的                   数之和进行计算然后进行从小到大的排序,再

2012-07-28 23:06:06 440

转载 Polygon (p1179)

这个题自己看了题还是知道些思路的,但就是感觉自己比较懒,,不好。还是参考了一下人家的代码。自己的代码能力还是很弱啊。题意: 把一个圈(点为数字,边为乘或是加的去处操作) 先是去一条边,,然后就依次去边把边两端点的数进行运算,直到得到一个最大的数。    输出最后最大运算数,并输出得到这个最大数时第一条边去掉的是哪些边可以得到。思路:把该圈打开并使其长度为原来的两倍,这样一个一个

2012-07-28 17:42:26 483

原创 Post Office (P1160)

题意:在一条线上有一系列的村庄,有一些邮局 ,求各乡村到最近的邮局的总路程最小值,乡村位置固定,邮局不定。思路:1、当有有几个村庄和一个邮局时,那邮局一定会存在于其中间,         2、其状态转移:代码中有一点说明。新收获:本来可以0MS AC的代码,如果前面加的#include#include#include#include#i

2012-07-27 19:20:25 546

原创 (背包+剪枝) Dividing (p1014)

意思,把六种数值的珠子两个人平分,看行不行。只是背包会超时,要加一些剪枝,在效率上就高很多。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;//freopen("C://i

2012-07-26 23:25:42 315

原创 LITTLE SHOP OF FLOWERS (P1157)

题意: 给定一个矩阵,在每一排中选 一个数,相加之和为最大。其中,在当排选好一个数后,在下排中所选的数必须是该列之后。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;//freopen

2012-07-26 22:35:22 517

原创 (大数据,导弹问题)Bridging signals (P1631)

方法:用一个数组B[i]记录在最大子序列长度为i 的最小的最后一 个数的最小值。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;//freopen("C://i.txt","r",st

2012-07-26 20:02:40 367

原创 Longest Ordered Subsequence (P2533)

注意:当n=0时输出为0;不能等于#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;//freopen("C://i.txt","r",stdin);#define N

2012-07-26 19:04:21 376

原创 Testing the CATCHER (P1887)

题上说得比较复杂,可其意就是求最大降序列,不能相等。这个题中要取最大值,而不是最后一个值。今天是第二次犯这样的错了。这个数据比较弱,用O(n*n)的时间就可以无压力地过。#include#include#include#include#include#include#include#include#include#include#incl

2012-07-26 18:53:46 539

原创 AGTC (P3356)

状态 dp[i][j]代表字符串前i个和j个的最小操作数。注意边界条件。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;//freopen("C://i.txt","r",stdin);#

2012-07-26 17:46:02 424

原创 Zipper (p2192)

这个题开始还是不太知道怎么做,,还是状态最重要啊。。先知道一点状态的变化就OK了,dp[i][j]内保存的是用前一个字符串的前i个字符和第二个字符的前j个字符能构成后面的字符串的前i+j个字符。#include#include#include#include#include#include#include#include#include#include#

2012-07-26 16:47:44 432

原创 Palindrome (P1159)

这个题,要注意内在会超出, 所以要用两个数组进行交替进行计算。在这里学到了用指针就感觉可以比较快速地进行交换。就是求公共子序列,但数组保存的数据最后一个不一定是最大的,所以一直要保持他的最大。#include#include#include#include#include#include#include#include#include#include#inclu

2012-07-26 14:25:11 342

原创 Compromise (p2250)

第二次做,不过一开始没有看清会是多组数据,都搞得我都不知道哪错了。这个和找公共子序列是一个道理(把一个单词看成是一个字母)。输出的路径进行记录,pre[][],其中3代表是左上,2代表左边,1代表正上方#include#include#include#include#include#include#include#include#include#inc

2012-07-26 13:00:57 402

原创 Common Subsequence (p1458)

明白了就很简单,#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;//freopen("C://i.txt","r",stdin);#define N 1001char a[N],b[N

2012-07-26 11:31:06 340

原创 PM3 (P3213)

这个题,比较巧妙#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;//freopen("C://i.txt","r",stdin);#define N 1001int a[N][N];

2012-07-25 23:17:43 488

原创 Painter (p2709)

题意: 给定有几种颜色,然后给定相应颜色的需求,然后给定灰色颜色的要求。              其中,灰色可以用随意的三种不同颜色的体积分别为m,m,m来合成灰色的颜料的体积为m。做法:先找到每个颜色要求的量。再用灰色的量一个一个降低。如果该量不够,就再加一套颜料#include#include#include#include#include#includ

2012-07-25 20:39:20 466

转载 Entropy (p1521)

像这样的题的思路,我是很难想到的。只好看人家的,不好,不好。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;priority_queue,greater> q;int len[1000];

2012-07-25 17:43:18 738

原创 Integer Intervals (P1716)

这个题的意思是:找出一个数的集合(是离散开的)其中的第在给出的区间中至少存在两点。像这样的题,一般都是要先进行区间的排序后做的。其中我在网上看到了比较高明的做法,再看吧,,先贴个网址:http://blog.csdn.net/lyy289065406/article/details/6648679#include#include#in

2012-07-24 22:58:57 586

原创 Crossing River (P1700)

注意其问题的最小化。先排序。把前两个做为特殊情况 ,其情况看代码您就知道。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;int n;int go[1111];int hi[

2012-07-24 21:34:23 355

原创 Area (P1654)

这个题就是求一个封闭区间内的面积。要先知道的:两个相邻向量(x1,y1)和(x2,y2)之间的平行四边形的面积为: abs(x1*y2-x2*y1)把所有两邻边的总面积算出来相加就行。#include#include#include#include#include#include#include#include#include#include

2012-07-24 17:31:03 411

原创 (经典) 放苹果 (P 1664 )

这个题,看似简单,却不好下手。得清楚地知道状态转移的情况 #include#include#include#include#include#include#include#include#include#include#includeusing namespace std;int apple(int n,int m){ if (n==0) re

2012-07-24 14:50:00 1225

原创 Bridging signals (P1631)

这个是题要用到DP加上树状数组的二分作用时候上才够。这个题的题意仔细一下就是序列单调上升的问题。也就是以前做过的导弹问题,只是这里的数据比较大。所以O(n*n)会超时。#include#include#include#include#include#include#include#include#include#include#include

2012-07-24 13:58:06 462

原创 (简单、大量) Distance on Chessboard (P1657)

这个题是简单单题,但是四各情况都要自己写出,虽然很相似。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;struct my{ int x; int y; int s; bool

2012-07-24 13:00:13 376

原创 (简单) The Suspects (P1611)

#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;int n;int go[30000];bool vist[30000];int ans;int m;int find(int k)

2012-07-24 11:30:22 336

原创 Pearls (P1260)

自己想的,自己写的未成功。#include#include#include#include#include#include#include#include#include#include#includeusing namespace std;int n;struct my{ int num; int v; bool operator<(my b)

2012-07-23 21:58:24 508

转载 回文序列(P1221)

题解只写给新手看,大牛略过。最近一直在作动态规划的题,但这道还是想了好久,水啊。先研究一下每一组数据时怎样由前面的推出的。比如 6的 (6), (1 4 1), (2 2 2), (1 1 2 1 1), (3 3), (1 2 2 1), ( 1 1 1 1 1 1) 一共7个。将6拆成两个相同的数和另一个大于这个数的数或者0(真拗口)。直接看下面就好:1、6=1+1+4。那么他可以将4的所

2012-07-23 18:42:20 473

原创 方块消除 (黑书)

P123题意: 把一个连续的不同颜色的进行消除,如果颜色相同的N块连在一起,可以一次消除,得分为N*N。然后在这种颜色的两端的方块合拢           重新连到一起。比如:1 2 2 2 2 3 3 3 1最高得分为: 4*4+3*3+2*2=29这个是看书后自己写的。#include#include#include#include#in

2012-07-23 15:28:12 602

原创 棋盘分割 (P1191)

自己做出来的有一点问题,不过还算是过了。#include#include#include#include#include#include#include#include#includeusing namespace std;double dp[17][9][9][9][9];double map[9][9];double sum(int x1,int y

2012-07-19 11:22:25 575

原创 Brackets Sequence (P1141)

这个题求出要加多少个半括号简单,难点在于要补充完整。自己做了好长时间,各种bug主要的思想是输出时根据记录的以同样的迭代方式输出。#include#include#include#include#include#include#include#include#includeusing namespace std;#define N 100000i

2012-07-18 18:59:29 320

原创 Ultra-quiksort (p2299)

这个题,先是数组开小了,然后是输出结果用int存不下。时候超过了1000MS,时间上比较长啊。#include#include#include#include#include#include#include#include#includeusing namespace std;#define N 1111111int n;struct my{

2012-07-18 11:03:58 462

原创 Cows P(2481)

这个题还是看了一下别人的才知道的,失败了三#include#include#include#include#include#include#include#include#includeusing namespace std;struct my{ int x,y; int id; bool operator<(my b) { if (x!=

2012-07-17 23:19:10 684

32位opencv330资源(包含include,DLL,lib)

由于opencv330现在不提供现成的32位版本,只有64位的版本。本人在windows10环境下使用CMAKE,用VS2017的编译器生成,亲测可用。

2017-11-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除