uva1610
摘要:/* 大体思路是用string存储字符串,从小到大进行排序,因为n是偶数所以直接选出中间两个字符串left和right来计算结果。 从left的第一个元素开始,先把他+1,然后累加到ans中,如果此时ans小于right,那么ans一定是最优解,直接跳出循环输出结果。 如果ans大于或等于right,说明+1后ans大了,把他-1回到正常值,然后继续循环。。。。。。 然后要注意细节,首先+1时不...
阅读全文
uva120
摘要:题意:给出n张煎饼,从上到下输入,每张煎饼上面都有一个数字,厨师每次可以选择第k张煎饼, 进行翻转操作,设计一种方法使得所有煎饼按照从小到大排序(最上面的煎饼最小)。输出需要翻转 的次数,如果已经结束不需要翻转输出0。 max_element(first,last)输出最大元素的位置
阅读全文
UVA 714 二分最大化最小值
摘要:题意:输入t表示有多个样例,输入n,group表示有n个数分为group组使每组和最小 输出‘/’时注意格式。
阅读全文
归并排序
摘要:划分 递归 合并 归并排序应用:解决逆序对问题 归并排序的实现 求逆序对时间复杂度为nlog(n)
阅读全文
CodeForce 675D
摘要:题意:输入n,输入n个结点,第一个结点为根节点,构造平衡树, 从第二个结点开始输出每个结点的父结点 题解:用set数组存储输入结点,可自动从小到大排序,便于二分查找比a[i]结点大的数 若a[i]为最大值则他为根节点的右子树,若可以找到比a[i]大的结点,检查该节点的左子树 是否有值,若没有a[i]
阅读全文
poj3688 博弈dp
摘要:题意:有俩人玩一个取石子的游戏,你是裁判。游戏中有W块石头和N张卡片,卡片上分别写着数字ai。玩家随机抽走一张卡片,按卡片上的数字从石头堆中取走相应数量的石头,如果石头不够,玩家重新抽卡片,取走最后一块石头的玩家获胜;如果石头堆为空仍然未分出胜负,则拿回所有石头和卡片重新开始。现在先手玩家贿赂了你,
阅读全文
poj 1740
摘要:题意:Alice和Bob一起玩游戏,给定几个堆得石子,A和B分别拿一个堆中任意石子可放到其他石子数不为0的堆中 不能移动的人输,Alice为先手,若他赢输出1否则输出0; 题解:若有1堆石子则A必胜 若2堆石子个数相同,则无论先手怎么取,后手可取相同的将石子数还原 不同,则先手可将两堆石子变相等,此
阅读全文
博弈论
摘要:参考http://blog.csdn.net/yizhangbiao/article/details/51992022 http://blog.csdn.net/luomingjun12315/article/details/45555495 必胜点和必败点的概念: P点:必败点,换而言之,就是谁处
阅读全文
字符串排序 codeforce53A
摘要://简单描述对字符串的排序 #include<iostream>#include<cstring>#include<cstdio>#include<algorithm>using namespace std;string str;//字符串和字符串数组 string a[1000];int main
阅读全文
51Nod - 1183 编辑距离
摘要:问题:找出字符串的编辑距离,即把一个字符串s1最少经过多少步操作变成编程字符串s2,操作有三种,添加一个字符,删除一个字符,修改一个字符 解析: 首先定义这样一个函数——edit(i, j),它表示第一个字符串的长度为i的子串到第二个字符串的长度为j的子串的编辑距离。 显然可以有如下动态规划公式:
阅读全文
HihoCoder 1309
摘要:题意:输入n,n行每行两个数分别为起始时间和终止时间,一台机器在一个时间段只能完成一项工作, 求完成n项工作至少需要几台机器。 第一种解法:优先队列将起始时间从小到大排列,将起始最早的结束时间压入队列,如果它小于下一个的起始时间,出队,下一个结束时间入队 否则下一个结束时间直击入队,结束,统计队列中
阅读全文
数位dp模板
摘要:typedef long long ll; int a[20]; ll dp[20][state];//不同题目状态不同 ll dfs(int pos,/*state变量*/,bool lead/*前导零*/,bool limit/*数位上界变量*/)//不是每个题都要判断前导零 { //递归边界,
阅读全文
区间处理codeforce612D 前缀和
摘要:http://www.cnblogs.com/names-yc/p/5093248.html 见链接
阅读全文