第一题:

题目大意:给出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) day1的更多相关文章

  1. 二模 (16) day1&day2

    第一题:题目大意: 数列a[0]=a[1]=1, a[n]=a[n-2]*a[n-1]*n,求a[n]的因子个数 mod 1000000007.  n<=1000000 解题过程: 1.递推式还 ...

  2. 二模13day1解题报告

    二模13day1解题报告 T1.发射站(station) N个发射站,每个发射站有高度hi,发射信号强度vi,每个发射站的信号只会被左和右第一个比他高的收到.现在求收到信号最强的发射站. 我用了时间复 ...

  3. 二模 (8) day2

    第一题: 题目描述: 有 n 个炸弹,有些炸弹牵了一根单向引线(也就是说引线只有在这一端能被炸弹点燃),只要引爆了这个炸弹,用引线连接的下一个炸弹也会爆炸.每个炸弹还有个得分,当这个炸弹被引爆后就能得 ...

  4. 二模 (12) day1

    第一题: 题目大意: 求由N个1,M个0组成的排列的个数,要求在排列的任意一个前缀中,1的个数不少于0的个数.N,M<=5000. 解题过程: 1.看到N,M的范围就明确肯定不会是dp,因为起码 ...

  5. 二模 (3) day1

    第一题: 题目描述: 一个数列定义如下:f(1) = 1,f(2) = 1,f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.给定 A,B 和 n 的值,要求计算 ...

  6. 二模 (15)day1

    第一题: 题目大意: 有两个长度为N的序列A和B,在A和B中各任取一个数相加可以得到N2个和,求这N2个和中最小的N个. 解题过程: 1.这题是刘汝佳<<训练指南>>上的一道经 ...

  7. 二模 (13)day1

    第一题: 题目大意: N个发射站排成一排,求每个发射站左右第一个比它高的发射站. N<=1000000 解题过程: 1.前几天做poj的时候刚好在discuss里看到有一个神奇的东东叫单调栈,正 ...

  8. 二模 (11) day1

    第一题: 题目大意:用邻接矩阵给出一棵树(边权非负)上N个节点相互之间的最短路距离,求这棵树所有边权的和. 解题过程: 1.暂时还没想出来,待AC. 第二题: 题目大意:给出一些单词,然后建立Trie ...

  9. 二模 (9)day1

    第一题: 题目大意: 给出一个n位01串,要么不动它,要么把它删掉一个字符,要么插入一个字符(0或1),要么把一个1变成0,.使得有1的位置号的总和是n+1的倍数,或者是0. 解题过程: 1.直接枚举 ...

  10. 二模 (10)day1

    第一题: 题目描述: 一个阅览室每天都要接待大批读者.阅览室开门时间是0,关门时间是T.每位读者的到达时间都不一样,并且想要阅读的刊物不超过5本.每位读者心里对自己想看的刊物都有一个排位,到达之后他会 ...

随机推荐

  1. (六)ARM状态寄存器-PSR

    ARM程序状态寄存器Program State Register 在ARM模式中, 有16个数据寄存器和1或2个状态寄存器是可以随时访问的.在特权模式 (privileged mode) 下, 对应的 ...

  2. 这个算asp.net的一个bug吗?

    asp.net设置按钮Enabled="false"后OnClientClick中添加的验证脚本消失了 下面的确可以 <asp:Button ID="btnRegi ...

  3. [html] Quirks Standards

    [产生] Standards : 从IE6开始,引入了Standards模式 Quirks  : 在IE6之前CSS还不够成熟,所以IE5等之前的浏览器对CSS的支持很差,为了兼容ie5之前的页面, ...

  4. laravel各种路径的获取方法

    若Route中有Route::get('home/test', 'HomeController@index')->name('test'); ①视图中的href跳转 一.<a href=& ...

  5. iframe页面调用父窗口JS函数

    A页面iframe 页面B, 此时 如果要在B页面调用父页面A的函数 B页面写法 parent.functionName(); 错误1: 解决办法 var js_domain_async = 'bai ...

  6. Linux 下没有 my.cnf 文件的解决方式,完全是我自己整的,好多教程都是瞎扯的 (zhuan)

    http://blog.csdn.net/jspping/article/details/40400691?utm_source=tuicool&utm_medium=referral *** ...

  7. 【MRPT】【icp-slam-live】Vs2013+ cmake3.6.1 + mrpt1.4.0+opencv2.9.4+wxWidget3.0.2环境配置

    Win10下Vs2013 + cmake3.6.1 + mrpt1.4.0+opencv2.9.4+wxWidget3.1.0环境配置 所接触过的最令我崩溃的环境配置.之前没有考虑到vs2013 20 ...

  8. java 多线程3(线程安全)

    需求:模拟三个窗口同时买票. 问题1:static 修饰num,只创建一份在内存中,要不就会创建3份. 问题2:线程安全问题.(代码重1的红色字体) 出现的原因:存在两个或两个以上的线程对象,而且线程 ...

  9. SAP MM移动平均价和标准价逻辑

    从收货到领用,S一直都是以标准价格计算,V是实时更新 S 时将差异结转到在产品,产品中,最后结转到生产成本,最终到利润.具有计划性,可以控制考核 V 是实时更新,出现差异直接对应材料中调整.价格可以直 ...

  10. MySQL锁监视器

    还在为看不懂何登成的加锁处理分析文章感到羞愧吗? 还在因为何大师的笔误,陷入深深的迷茫吗? 只要你拥有大于5.6.16版本的MySQL,锁监视器你值得拥有! 快速入门 开启 set GLOBAL in ...