摘要:
题目大意:给定一排人的身高,求踢出最少的人可以使队列身高如下形状:(感谢大神提供图片)这个题比较简单,顺序一遍最长上升子序列,逆序一遍最长上升子序列,最后处理一下数据就行。下面是代码:#include #include const int MAX=1005;int main(){ int n,... 阅读全文
摘要:
开学了,好长时间没写博客了哈,来个DP练练手吧。。。(瞬间霸气测漏啊!!)题目大意:给定金额,钞票种类,钞票数目。求能找开的不大于金额且与金额差最小的值。这是一个多重背包问题,可以优化成01背包二进制(感谢背包九讲!!)。下面是代码:#include struct node{ int x,y;... 阅读全文
摘要:
题目大意:有一个天平上有C个挂钩,分别在不同的位置上,用C个整数表示。正整数代表在原点右侧,负整数代表在左侧,就相当于一个数轴。有G个砝码,求有多少种平衡情况。思路:这是一个01背包问题。每勾上一个砝码就是一个新阶段。每一个新阶段都是在原来的出现过的状态上更新的。状态方程dp [ i ][ j+ w... 阅读全文
摘要:
这题很水,最多只有26个点 的图染色问题,暴搜就行。题目翻译:当一个广播电台在一个非常大的地区,广播站会用中继器来转播信号以使得每一个接收器都能接收到一个强烈的信号。然而,每个中继器必须慎重选择使用,使相邻的中继器不互相干扰。如果相邻的中继器使用不同的频道,那么就不会相互干扰。由于无线电频道是一有限... 阅读全文
摘要:
这题是个DFS搜索题。大致题意:九宫格问题,也有人叫数独问题把一个9行9列的网格,再细分为9个3*3的子网格,要求每行、每列、每个子网格内都只能使用一次1~9中的一个数字,即每行、每列、每个子网格内都不允许出现相同的数字。下面是代码:#include #include bool vish[9][10... 阅读全文
摘要:
这道题是道水题,不要介意神马前导零之类的,没影响。题目大意:公司现在要发明一种新的碎纸机,要求新的碎纸机能够把纸条上的数字切成最接近而不超过target值。比如,target的值是50,而纸条上的数字是12346,应该把数字切成四部分,分别是1、2、34、6。因为这样所得到的和43 (= 1 + 2... 阅读全文
摘要:
这题一开始怎么想也想不出搜索来, 后来才明白原来是这样。这是一个DFS暴搜,呵呵……下面是代码:#include #include const int M=25;int n,map1[M][M],sum,max1;bool vis[M][M];void DFS (int m,int step){ ... 阅读全文
摘要:
这个题是个BFS加了一点难度的题。需要保存前一节点的在队列中的位置,操作等……下面是代码:#include #include int a,b,c;bool vis[105][105];struct node{ int x,y,pr; char s[10];} qu[15000],du,d... 阅读全文
摘要:
这题是个模拟题啊!!!题目大意:已知两堆牌s1和s2的初始状态, 其牌数均为c,按给定规则能将他们相互交叉组合成一堆牌s12,再将s12的最底下的c块牌归为s1,最顶的c块牌归为s2,依此循环下去。给定输入s1和s2的初始状态 以及 预想的最终状态s12。问s1 s2经过多少次洗牌之后,最终能达到状... 阅读全文
摘要:
大致题意:给定两个四位素数a b,要求把a变换到b变换的过程要保证 每次变换出来的数都是一个 四位素数,而且当前这步的变换所得的素数 与 前一步得到的素数 只能有一个位不同,而且每步得到的素数都不能重复。每一个a都可以找到一个b,所以都会有答案,题目中如果找不到输出impossible这句话可以无视... 阅读全文