【Tyvj1063】数字串

描述 Description

给你一个长度为 n 的数字串,数字串里会包含 1-m 这些数字。如果连续的一段数字子串包含了 1-m 这些数字,则称这个数字字串为 NUM 串。你的任务是求出长度最短的 NUM 串是什么,只需要输出这个长度即可。

1<=n,m<=200000

Read More

【Tyvj1062】合并傻子

描述 Description

在一个园形操场的四周站着 N 个傻子, 现要将傻子有次序地合并成一堆. 规定每次只能选相邻的 2 个傻子合并成新的一个傻子,并将新的一个傻子的 RP 数,记为该次合并的 RP 数。

(合并方法与 NOI1999 石子合并(本题库的沙子合并)相同,请大家参考上题合并方法)

将 N 个傻子合并成 1 个的最小 RP 数为 RPn 和最大 RP 数为 RPx.

钟某人要合并他们,钟某人现在的 RP 为 m, 但是他要小心….

if m>RPx then 钟某人能很轻松的合并他们,并说出 ‘It is easy’

else if mm ## 输入格式 InputFormat 数据的第 1 行试正整数 n 和 m(1≤N≤100,m 在 longint 范围之内)表示有 N 个傻子. 第 2 行有 N 个数, 分别表示合并每个傻子的所掉的 RP 数。

输出格式 OutputFormat

输出文件仅一行包含一个句子表示钟某人说的话。

样例输入 SampleInput

27 23398149
64348 64811 76365 69037 69815 58450 50328 87498 39255 22175 90134 69974 83631 51356 69368 30607 60040 45347 98409 80430 84084 5349 69325 1654 81508 91734 30616

样例输出 SampleOutput

I will go to play WarIII


Tyvj 1062


代码 Code

简单的动规。

  1. #include <stdio.h>
  2. #include <iostream>
  3. #include <cstring>
  4. #include <algorithm>
  5. using namespace std;
  6. #define inf 0x7fffffff
  7. int f[101][101];
  8. int a[101],sum[101];
  9. int i,j,t,n,m,l,r,k,z,y,x,xmax,xmin;
  10. int main()
  11. {
  12. memset(f,0,sizeof(f));
  13. scanf("%d%d",&n,&m);
  14. for (i=1;i<=n;i++)
  15. {
  16. scanf("%d",&a[i]);
  17. sum[i]=sum[i-1]+a[i];
  18. }
  19. for (i=n;i>0;i--) for (j=i+1;j<=n;j++)
  20. {
  21. for (k=i+1;k<j;k++)
  22. {
  23. f[i][j]=min(f[i][j],f[i][k]+f[k+1][j]);
  24. }
  25. f[i][j]+=sum[j]-sum[i-1];
  26. }
  27. xmin=f[1][n];
  28. memset(f,0,sizeof(f));
  29. for (i=n;i>0;i--) for (j=i+1;j<=n;j++)
  30. {
  31. for (k=i+1;k<j;k++)
  32. {
  33. f[i][j]=max(f[i][j],f[i][k]+f[k+1][j]);
  34. }
  35. f[i][j]+=sum[j]-sum[i-1];
  36. }
  37. xmax=f[1][n];
  38. if (m>xmax) printf("It is easy\n");
  39. else if (m<xmin) printf("I am..Sha...X\n");
  40. else printf("I will go to play WarIII");
  41. return 0;
  42. }

【Tyvj1061】Mobile Service

描述 Description

一个公司有三个移动服务员。如果某个地方有一个请求,某个员工必须赶到那个地方去(那个地方没有其他员工),某一时刻只有一个员工能移动。被请求后,他才能移动,不允许在同样的位置出现两个员工。从 p 到 q 移动一个员工,需要花费 c(p,q)。这个函数没有必要对称,但是 c(p,p)=0。公司必须满足所有的请求。目标是最小化公司花费。

Read More

搭建属于你的 2048

作为最近非常火的一个游戏,作者是将源代码托管在了 Github 上,并且注明了是遵守 MIT License. 也就是意味着我们可以将它 copy 到自己的网站上来,并且对其中的内容做一些自己的修改。

Read More