zoukankan      html  css  js  c++  java
  • [考试]20150903

    1、前言

      考得稀下的,算了不说了。

    2、Password 博士的密码

    大概题意:给出一个数列,选出其中一些数字使其和为所给数字。

    总结:被这道题坑死了!为了省时间,我事先排了序并且用了前缀和优化,但是它的数列存在负数,而且是所有数据都有负数,所以直接爆零无话可说。后来再看了一眼题目发现好像确确实实没有说一定是正整数。

    题解:题解是非常鬼畜的。说先前60%直接暴力DFS即可(妈蛋);然后注意100分为n<=40。暴力显然是O(n!)的,所以当n>25时,我们可以把n个数分成两个部分,首先暴力算出两个部分的所有组合情况,然后利用两部分求和,使两部分总和满足条件。

    3、Circle 套圈游戏

    大概题意:地图上有一些点,给出一个两直角边长度已知的直角三角形,用直角三角形框住最多的点,要求直角点必须在地图上的点上。

    总结:有没有看清题目,我觉得我可以弃疗了。三角形的直角必定在整数点上,所以对于40%数据直接O(n^2)枚举所有点就行了。呵呵。

    题解:40分在上面。100分的话,CDQ分治省略,来讲讲容斥原理。根据题意易得我们是需要选择一个直角三角形,可以考虑将其三条边延长为直线,由此将坐标系划分成7个部分。学过线性规划的应该都知道怎么求第1部分面积;再根据容斥原理,易得S1=Sall-S(2,3,4)-S(2,7,6)-S(4,5,6)+S2+S6。如图:

    具体过程的话,如何判断一个点在一条线的那一侧?利用截距来判断简便而有效。求出Sall,S(2,3,4),S(2,7,6)和S(4,5,6)都是不难的,那么对于S2,S6,需要用树状数组来维护。

    4、Last 最后一题

      这道题不怎么想讲。。。。我题目其实看了很久才看懂,但是其实就是一道简单的数学题,但是由于数据范围极大<=10^500,所以麻烦的地方就是需要用到高精度加减乘法。另外奇偶性要考虑。

  • 相关阅读:
    Python之禅
    浅析css布局模型1
    原型与继承学习笔记4
    原型与继承学习笔记3
    原型与继承学习笔记1
    javascript-this,call,apply,bind简述3
    javascript-this,call,apply,bind简述2
    javascript-this,call,apply,bind简述1
    javascript数组浅谈3
    javascript数组浅谈2
  • 原文地址:https://www.cnblogs.com/jinkun113/p/4780895.html
Copyright © 2011-2022 走看看