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的更多相关文章

  1. TopCoder 649 div1 & div2

    最近一场TC,做得是在是烂,不过最后challenge阶段用一个随机数据cha了一个明显错误的代码,最后免于暴跌rating,还涨了一点.TC题目质量还是很高的,非常锻炼思维,拓展做题的视野,老老实实 ...

  2. topcoder 594 DIV2 foxandclassroom

    暴力枚举 1 #include <iostream> #include <vector> #include <string> using namespace std ...

  3. topcoder 643 DIV2

    太弱了,太弱了! A:基本的判断吧,然后就是边界问题,写了好久,结果发现时房间第二个交的.. B:真心跪了,还好想出来了,思路想的太慢太慢,结果交上去,落后太多,不过HACK时很多人挂了, 这也是DI ...

  4. ACM学习历程—TopCoder SRM691 Div2

    这是我的第一次打TC,感觉打的一般般吧.不过TC的题目确实挺有意思的. 由于是用客户端打的,所以就不发题目地址了. 300分的题: 这题大意是有一段序列只包含+和数字0~9. 一段序列的操作是,从头扫 ...

  5. 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 ...

  6. Topcoder 658 650 point

    Topcoder 658 div2 500 加强版 不过给了<=20,暴力肯定不行. 然后想DP方程,先二分可能需要的最大次数mid; 然后根据 mid 构造 DP方程. 假设x[i]需要 x个 ...

  7. Topcoder Srm 673 Div2 1000 BearPermutations2

    \(>Topcoder \space Srm \space 673 \space Div2 \space 1000 \space BearPermutations2<\) 题目大意 : 对 ...

  8. Topcoder Srm 671 Div2 1000 BearDestroysDiv2

    \(>Topcoder \space Srm \space 671 \space Div2 \space 1000 \space BearDestroysDiv2<\) 题目大意 : 有一 ...

  9. 记第一次TopCoder, 练习SRM 583 div2 250

    今天第一次做topcoder,没有比赛,所以找的最新一期的SRM练习,做了第一道题. 题目大意是说 给一个数字字符串,任意交换两位,使数字变为最小,不能有前导0. 看到题目以后,先想到的找规律,发现要 ...

随机推荐

  1. qt project settings被禁用解决方案

    转载请注明出处:http://www.cnblogs.com/dachen408/p/7422707.html qt project settings被禁用点击不了: 解决方案:需要点击该项目(或者项 ...

  2. 一个PHP开发APP接口的视频教程

    感觉php做接口方面的教程很少,无意中搜到了这个视频教程,希望能给一些人带来帮助http://www.imooc.com/learn/163

  3. 分享一个开源的JavaScript统计图表库,40行代码实现专业统计图表

    提升程序员工作效率的工具/技巧推荐系列 推荐一个功能强大的文件搜索工具SearchMyFiles 介绍一个好用的免费流程图和UML绘制软件-Diagram Designer 介绍Windows任务管理 ...

  4. CentOS 6.5下安装Python 3.5.2(与Python2并存)

    CentOS 6.5下安装Python 3.5.2(与Python2并存) 安装步骤 1,准备编译环境(环境不对,在安装过程中可能遇到各种问题.比如wget无法下载链接的文件) yum groupin ...

  5. 获取指定点的RGB值

    实现效果: 知识运用: Color对象的RGB属性 实现代码: private void button1_Click(object sender, EventArgs e) { OpenFileDia ...

  6. C++ 类中的static成员的初始化和特点

    C++ 类中的static成员的初始化和特点 #include <iostream> using namespace std; class Test { public: Test() : ...

  7. syntax error : missing ';' before identifier

    原文解决方案 #include "string.h" #include "stdafx.h" #include "Chapter 01 MyVersi ...

  8. AspNetCore容器化(Docker)部署(二) —— 多容器通信

    一.前言 着上一篇 AspNetCore容器化(Docker)部署(一) —— 入门,在单个容器helloworld的基础上引入nginx反向代理服务器组成多容器应用. 二.配置反向代理转接 配置转接 ...

  9. 关于Java的三种普通排序

    首先要知道是哪几种排序 这里我们所说的是 冒泡排序,选择排序以及插入排序 然后要理解大概的排序速度 : 插入<选择<冒泡 下面是代码 大家可以拷贝自己在java环境里运行运行! publi ...

  10. PLSQL Developer连接数据库报错ora-12514解决

    连接本地数据库报以上错误,需要修改本地数据库的监听配置文件(如下所示:) 比如我的本地oracle数据库相关文件在E:\app\user\product\11.2.0\dbhome_1下 然后在E:\ ...