Komorebi
首页
文章
标签
关于
友链
骨牌覆盖
hihocoder 1048题意:在一个N×M的格子里,现在有两种类型的砖块,1×2和2×1,问一共有多少种方案,可以将整个N×M的空间都填满。2<=N<=1000, 3<=m<=5。 思路:参考博客:http://blog.csdn.net/lu597203933/article/details/44137277 (事实上考虑的时候顺序是这样的1⃣️👉4⃣️👉3⃣️�
2018-01-27
题解
终于搭建了我的博客啦www
经过两天断断续续的搭建以及搬运…终于把之前的博文从lofter搬运到这里啦www 虽说这里写博文好像有点麻烦 但是比lofter在格式上面好了很多呀 再也不用担心复制代码会出现莫名其妙的空行啦(而且更好看?(这个模板real好看呀 有了博客就更有动力刷题啦(? 不立太多flag总之加油啦www
2018-01-26
随感
贪心题
区间选点问题(P233)-方法: 把所有区间按b从小到大排序(b相同时a从大到小排序),则如果出现区间包含的情况,小区间一定排在前面。第一个区间应该取最后一个点。 -练习(POJ1328): 更自然的方法: 每个岛屿都有这样的最左和最右可被侦测坐标。根据贪婪的思想,每次都应该将最右可被侦测坐标作为衡量标准。假定当前的岛屿为cur,当前的下一个为next。1.如果next的最左可被侦测坐标比cur的
2018-01-26
题解
HDOJ 2057 十六进制相加
用long long: 注意:十六进制输入十六进制输出就ok。题目告知A长度不会超过15位,A**最大为fffffffffffffff,转换成10进制为 1152921504606847046,long long**范围是-2^63~+2^63-1, +MAX: 9223372036854775807,所以long long足够了。需要注意的是如果用long long,输入和输入时都需要写成
2018-01-26
题解
数位dp
之前暑假的时候找过模板来着…好像当时不是很懂那个模板…以至于之后就忘了要怎么写了…现在换了一种数位dp的写法…还是这种写法好懂呀… https://www.cnblogs.com/wenruo/p/4725005.html 以不要62这道题为例: 1⃣️预处理出来dp(i)(j):i位j为首数字的数字里有多少上牌号如j=4时:dp(i)(j)=0j!=4时: 2⃣️分离数位 比如52431,an
2018-01-26
题解
joyoi treat dp(或者记忆化搜索)
题意: 给出长度为N的数列{A_i},每次可以从最左边或者最右边取走一个数,第i次取数得到的价值是i * A_j。求价值之和最大的取数方案。 思路: 记忆化搜索: 用 DP[i][j]表示a数组取i到j的最大价值。 int a[2010]; int dp[2010][2010]; int dfs(int l,int r,int t) { if(l>r)return 0;
2018-01-26
题解
51nod 1257 01分数规划
题意: N个物品的体积为W1,W2……Wn(Wi为整数),与之相对应的价值为P1,P2……Pn(Pi为整数),从中选出K件物品(K <= N),使得单位体积的价值最大。 思路: 要使sump/sumw<=x,即使sump-x*sumw<=0,可以二分使该式值为0找解。 代码: int n,k; long long sump,sumw; struct dx { l
2018-01-26
题解
CodeForces869C 组合数学(或者DP)
题意: 有三种岛屿,数量分别为a,b,c;任意两个岛屿可以最多建一座桥(桥长度为1),问你有几种建桥方式; 同种岛屿要么无法达到,要么距离至少为3; 组合数学思路: 限制条件可以理解为:1.同种岛屿之间不能有桥;2.同种岛屿不能同时连着同一个岛屿; 因为条件1,所以建桥可以分三步,a与b的建桥情况,b与c的建桥情况,a与c的建桥情况,即每种岛屿的每个岛屿与另一种的每个岛屿之间有没有桥。 因为条件2
2018-01-26
题解
二分
常用思想:枚举一个值,使得剩下的值具有单调性,然后进行二分。 二分答案参考博客:https://www.cnblogs.com/fenghaoran/p/6391052.html 为什么可以二分答案呢? 如果要求满足条件的最大值,如果我们check了10000,发现它是满足解的,那么答案肯定不小于10000。如果我们又check了20000,发现它是满足解的,那么10000-20000内的数我们都
2018-01-26
学习
51nod 1088 最长回文子串
1.暴力法:求出所有子串… 2.动态规划法: 定义二维数组P[i,j]用以表示Si…Sj是回文(true)或不是回文(false) 那么可知P[i,j] = (P[i + 1, j - 1] && Si ==Sj) 初始条件是:P[i, i]=true,P[i, i + 1] = (Si == Si+1) int dp[1010][1010]={0}; int
2018-01-26
题解
1
…
15
16
17
18
19
…
23
Search
×
keyword