摘要:
题意: 给你一个5*6的矩阵,你可以在任意位置对这个位置及其上下左右(如果有的话)进行xor【读作:叉欧二 ( :-D) 】操作,求解在哪些地方进行。 思路: 0. 一个显而易见就超时的方法(2^30),枚举第i个灯是开是关 但为第一种方法提供了思路 1.好像可以枚举第一... 阅读全文
摘要:
原题请戳这里 题意:给你个串,求最少添加多少个字符使它成为回文串。 思路:没有思路网上题解的思路 DP 将正序列和反序列做一次LCS就行 dp[i][j]表示正向到 i , 反向到 j 的LCS长度 dp[i][j]=max( dp[i-1][j-1]+1 ... 阅读全文
摘要:
题意:如题。。。 DP。。。#include #include #include using namespace std;char a[305],b[305];int f[305][305];int main(){ while(scanf("%s%s",a,b)!=EOF){... 阅读全文
摘要:
顺便 精简了一下代码。。 题意: 给你几对儿基因序列 你可以在一个序列中插入空格,使匹配度(题中表里一一对应的分数加起来)达到最佳。 原题请戳这里思路: 呃呃看见这道题就知道是个DP。就是转移方程怎么写呢。 据 mars_ch说是跟最长公共子序列有关系。(poj1458) (... 阅读全文
摘要:
题意:给你n个点的坐标。求一条直线最多能穿过多少个点。 思路:枚举(n^2)+求斜率+排序 (复杂度n^2logn)大功告成//By: Sirius_Ren#include #include #include #include using namespace std;int n... 阅读全文
摘要:
题目: poj 1160题意:给你n个村庄和它的坐标,现在要在其中一些村庄建m个邮局,想要村庄到最近的邮局距离之和最近。分析: 这道题。很经典的dpdp[i][j]表示建第i个邮局,覆盖到第j个村庄的距离之和。问题在于状态方程怎么写?dp[i][j]=min(dp[i][j],... 阅读全文
摘要:
f[i][j]=max(f[i][j],f[i-1][k]-a[k][j]+b[i][j]) i—>第i天 j—–>到第j个城市#include #include #include using namespace std;int f[105][105],a[105... 阅读全文
摘要:
线段树然后yy一下,搞一搞。GSS1: 题意:求最大区间和。#include #include using namespace std;int lm[200005],rm[200005],ma[200005],s[200005],left,right,n,m,ans,rans;vo... 阅读全文
摘要:
HDU1166 上好的线段树模板&&树状数组模板 自己写的第一棵线段树&第一棵树状数组 莫名的兴奋 线段树:#include using namespace std;int cases,n,tree[200500],ql,qr;char s[50];void build(int ... 阅读全文
摘要:
模板题:POJ1273 EK:#include #include #include #include using namespace std;int n,m,jy,map[305][305],c[305][305],a[305],p[305];bool vis[305];int M... 阅读全文