第一题:

题目大意:给出N(N<=50)个小于1000的正整数Ai,和一个正整数max,和一个整数cur,从前往后依次对每个Ai,可以让cur+Ai 或者 cur-Ai,但是结果不能大于max,也不能小于0.求最终的cur的最大值。

解题过程:

1.一开始直接写了个爆搜+剪枝(ans=max或者ans+sum[i]<=ans),除了N=50的一些恶心数据都能过。

2.然后想到一个更强力的剪枝,就是当状态 (step,cur)之前已经搜索到过了,就跳过。然后就AC了。

3.其实第2条中的实质就是动态规划,有点像记忆化搜索。直接递推也很好做。


第二题:

题目大意:给出一个N*M(小于1000)的矩阵,由空地和障碍组成,每行每列最多只有一个障碍。且2个障碍不会在对角相邻。

也就是不会有下面这种情况。(‘X’表示障碍,‘.’表示空地)

.X

X.

求出两两空地的距离之和。

解题过程:

1.先考虑没有障碍的情况:

笨方法:

用O(NM)的时间处理出所有以(1,1)为左上角顶点的A类矩形内的空地的横纵坐标之和,保存在sqr1,sqr2中,所有以(1,M)为右上角顶点的B类矩形内的空地的横纵坐标之和,保存在sqr3,sqr4中,还要保存相应矩形内空地的个数,cnt1,cnt2,cnt3,cnt4,对于每一个坐标为(i,j)的X,只要统计 以(i,j-1)为右下角顶点的A类矩形,即sqr1[i][j-1]和sqr2[i][j-1]。这些矩形里的空地的横纵坐标都比当前点小,所以加上sqr1[i][j-1]-cnt1[i][j-1]*i以及sqr2[i][j-1]-cnt2[i][j-1]*i; 同理根据横纵坐标的大小处理B类矩形,最后答案*2.

标准方法:

以处理横坐标的和为例。用F[i]保存横坐标为i的X有多少个,那么答案就是 sum(F[i]*F[j]*abs(i-j));纵坐标同理。

2.再看有障碍的情况,画图可以发现,两个点的距离要么是欧几里得距离,要么是欧几里得距离+2.那么只要统计出要+2的点对数。

对于一个X1,如果它右边一列有一个X2,那么X1上方的点到X2下方的点的距离都要+2.如果X2右边一列还有一个X3,且X3在X2的下方,那么X1上方的点到X3下方的点的距离也要+2。因此只要是在X1右边,纵坐标连续且横坐标递增(往下是增)的X,都是这种情况。  同理可以计算在X1上方的X,以及横着的情况(X2在X1右边,且刚好在正下(上)方一列,X1左边的点到X2右边的点也要+2)。

非常不错又恶心的一道题。。。


第三题:

题目大意:给出一个N个元素的队伍(N<=2*10^5),以及每个元素的权值和种类,每次要求相邻的两个不同种类且权值差最小的两个元素出队,求出队顺序。

解题过程:

1.对于出队的情况,直接数组模拟双向链表来优化时间。可以拿50分。

2.考虑到每次取最小,就建一个小根堆,每次取出堆顶元素知道堆顶元素表示的编号为x,y的人都还没有出队。让其出队,然后把他们左右两个人组成一个元素加入堆。

最新文章

  1. Android(1)—Mono For Android 环境搭建及破解
  2. PHP加密技术
  3. 【Codeforces 738C】Road to Cinema
  4. MySql 存储过程、触发器和权限问题
  5. WebView网页中使用到支付宝调不起来,提示ERR_UNKNOWN_URL_SCHEME
  6. DOS命令批量重命名文件配合Excel 操作备忘
  7. winform-全局异常捕获作用
  8. css居中的几种方式
  9. jcom2在win7 X86上操作Excel
  10. android视频播放
  11. 搭建hadoop2.6.0集群环境
  12. MySql Update Select 嵌套
  13. [Q]图框识别问题
  14. centos生成公钥私钥 securecrt通过公钥访问服务器 winscp通过公钥访问服务器
  15. Java HashMap工作原理及实现
  16. 2019-04-29 EasyWeb下配置Atomikos+SQLServer分布式数据源
  17. Tomcat安装教程
  18. [LeetCode] Unique Morse Code Words 独特的摩斯码单词
  19. ip通信第七周
  20. phpstorm----------phpstorm如何安装和使用laravel plugin

热门文章

  1. linux虚拟机安装
  2. C++——类和动态内存分配
  3. 【Linux系统】防暴力破解
  4. Android控件之CheckBox(复选框控件)
  5. JSON字符串如何转化成对象?
  6. ogre入门笔记
  7. webstorm激活码
  8. VBA中四种自动运行的宏以及模块的含义
  9. HTML5自学笔记[ 9 ]HTML5实现元素的拖放
  10. Tomcat Manager用户配置详解