topcoder 649 DIV2
8
A:模拟
9:B:终于看懂题目。。。
题意:最多分解K次
每分钟一个数可以分解成两个数 或者-1;
关键字:DP,记忆花搜索。
DP[I][J]=min(dp[i][j],1+max(dp[ii][jj],dp[i-ii][j-jj-1]);
1 #include<iostream>
2 #include <string> 3 #include <vector> 4 #include<cmath> 5 #include <string.h> 6 using namespace std; 7 int dp[][]; 8 class CartInSupermarketEasy { 9 public: int dfs(int n,int k) { if (dp[n][k]!=-) return dp[n][k]; if (n==) return ; if (k==) return n; if (n==) return ; int ans=dfs(n-,k)+; for (int i=;i<=n;i++) for (int j=;j<k;j++) { ans=min(ans,+ max(dfs(i,j),dfs(n-i,k-j-))); } dp[n][k]=ans; return dp[n][k]; } int calc(int N, int K) { memset(dp,-,sizeof(dp)); return dfs(N,K); } // int t=round(log(N)/log(2)) }; int main() { CartInSupermarketEasy p; int n,k; cin>>n>>k; cout<<p.calc(n,k); return ; } // Powered by FileEdit // Powered by TZTester 1.01 [25-Feb-2003] // Powered by CodeProcessor
10:C 关键字:贪心;先联想成二进制。有这样一个性质:我们这样考虑,比如一个N 最大是:100000;然后我们这样枚举:100000 10000 1000 100 10 1 0因为如果100000产生的答案更大的话接下来枚举10000而两者不矛盾 逐次枚举使答案更大 #include<iostream>#include<string.h>#include <string>#include <vector>using namespace std;class XorSequenceEasy { public: int getmax(vector <int> A, int N) { int n=A.size(); int ans=0; for (int k=N;k;k>>=1) { int cnt1=0; for (int i=0;i<n;i++) for (int j=i+1;j<n;j++) if (A[j]>A[i]) cnt1++; for (int i=0;i<n;i++) A[i]^=k; int cnt2=0; for (int i=0;i<n;i++) for (int j=i+1;j<n;j++) if (A[j]>A[i]) cnt2++; ans=max(ans,max(cnt1,cnt2)); if (cnt1>cnt2) for (int i=0;i<n;i++) A[i]^=k; } return ans; }};
topcoder 649 DIV2的更多相关文章
- TopCoder 649 div1 & div2
最近一场TC,做得是在是烂,不过最后challenge阶段用一个随机数据cha了一个明显错误的代码,最后免于暴跌rating,还涨了一点.TC题目质量还是很高的,非常锻炼思维,拓展做题的视野,老老实实 ...
- topcoder 594 DIV2 foxandclassroom
暴力枚举 1 #include <iostream> #include <vector> #include <string> using namespace std ...
- topcoder 643 DIV2
太弱了,太弱了! A:基本的判断吧,然后就是边界问题,写了好久,结果发现时房间第二个交的.. B:真心跪了,还好想出来了,思路想的太慢太慢,结果交上去,落后太多,不过HACK时很多人挂了, 这也是DI ...
- ACM学习历程—TopCoder SRM691 Div2
这是我的第一次打TC,感觉打的一般般吧.不过TC的题目确实挺有意思的. 由于是用客户端打的,所以就不发题目地址了. 300分的题: 这题大意是有一段序列只包含+和数字0~9. 一段序列的操作是,从头扫 ...
- TopCoder SRM596 DIV2 1000: SparseFactorialDiv2
题意: For an integer n, let F(n) = (n - 0^2) * (n - 1^2) * (n - 2^2) * (n - 3^2) * ... * (n - k^2), wh ...
- Topcoder 658 650 point
Topcoder 658 div2 500 加强版 不过给了<=20,暴力肯定不行. 然后想DP方程,先二分可能需要的最大次数mid; 然后根据 mid 构造 DP方程. 假设x[i]需要 x个 ...
- Topcoder Srm 673 Div2 1000 BearPermutations2
\(>Topcoder \space Srm \space 673 \space Div2 \space 1000 \space BearPermutations2<\) 题目大意 : 对 ...
- Topcoder Srm 671 Div2 1000 BearDestroysDiv2
\(>Topcoder \space Srm \space 671 \space Div2 \space 1000 \space BearDestroysDiv2<\) 题目大意 : 有一 ...
- 记第一次TopCoder, 练习SRM 583 div2 250
今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要 ...
随机推荐
- Phalcon初认识
Phalcon以c扩展交付的全堆栈php开发框架 基本功能 低开销:低内存消耗和CPU相比传统的框架 MVC和HMVC:模块.组件.模型.视图和控制器 依赖注入:依赖注入和位置的服务和它的本身他们的容 ...
- echarts简单用法快速上手
1.html结构 简单说就是一个标签一个图表:2.初始化:var myEcharts = echarts.init(document.getElementById("xxx")): ...
- easybcd 支持 windows 10 和 ubuntu 14.04 双系统启动
家里计算机系统 windows 10 全新安装. 原本是双系统的,还有一个ubuntu. windows 10 安装以后,恢复ubuntu就是问题了. (事后经验:请不要立刻安装bcd修改工具) 最初 ...
- 如何移除不再插入Windows设备的信息
Howto: Remove devices from Windows that are not connected to the system anymore 如何移除不再插入Windows设备的信息 ...
- QT_7_资源文件_对话框_QMessageBox_界面布局_常用控件
资源文件 1.1. 将资源导入到项目下 1.2. 添加文件—>Qt -->Qt Resource File 1.3. 起名称 res ,生成res.qrc文件 1.4. 右键 open i ...
- mybatis-spring_缓存
学习之前需要先了解一下什么是mybatis一级缓存? LZ推荐:https://blog.csdn.net/niunai112/article/details/80601793#%E4%B8%80%E ...
- thinkphp5实现文件上传
原理:通过form表单的enctype = "multipart / form-data"属性将文件临时放在htdocs文件夹的tmp目录下,再通过后台的程序将文件保存在自己设定的 ...
- AF_NETLINK
读procd时,hotplug相关. 从网上资料来看,大概和硬件输入有关? 资料:http://www.cnblogs.com/sammei/p/4119659.html
- DOS使用笔记
DOS下cd命令: cd .. 上一级目录: g: 指定当期目录到G盘,而cd g:是没有效果的: 如图: 在安装Windows服务的过程中,如果installutil为64位版本,那么编译生成项目的 ...
- xtu read problem training B - Tour
B - Tour Time Limit:1000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Descriptio ...