zoukankan      html  css  js  c++  java
  • 2016寒假训练4

    题目链接

    A CodeForces 490A Team Olympiad

    题意:给出N个人,有的人擅长1有的人擅长2有的人擅长3,要求进行分成3人组,每组都有1,2,3,输出尽可能多的组的方案。

    做法:暴力,答案肯定是1,2,3人数中的较小值

    B CodeForces 490B Queue

    题意:给定N个人,已知每个人前面的人(分奇偶),求出原本人的顺序

    做法:分奇偶求出原本的顺序

    C CodeForces 490C Hacking Cypher

    题意:给定一个很长的数以及a,b,问是否可以把这个数切成两部分,前面一部分可以被a整除,后面一部分可以被b整除

    做法:moda[i]表示前i位%a的值,modb[i]表示第i位到最后一位的数%b的值,O(N)预处理出这两个数组即可

    D CodeForces 490D Chocolate

    题意:有两个块巧克力,每一次可以吃掉长或者宽的一半,或者1/3,问最少多少次可以使得两块巧克力的面积相同

    做法:求出原本两块巧克力的边长除去所有的2和3之后的长度,如果面积不相同,无论操作多少次都肯定不可以。如果相同,直接模拟

    E CodeForces 490E Restoring Increasing Sequence

    给定N个数字,有的数字有的位置不确定,要求这N个数严格递增,问是否可以求出一个满足条件的序列。

    做法:贪心。如果当前处理的数字位数比上一个数字长,那么这个数字就赋值为1000…0,如果这个数字位数比上一个数字短,那么就直接输出NO。如果位数相等,就通过DFS确定最小的这个数,使得尽可能的满足要求。

    F CodeForces 490F Treeland Tour

    题意:求一棵树上的最长上升子序列

    做法:枚举起点,做二分的LIS

    G CodeForces 483A Counterexample

    题意:给定L,R,要求求出3个数,使得前两个数互质,2和3两个数互质,1和3两个数不互质

    做法:直接3个for

    H CodeForces 483B Friends and Presents

    题意:给定cnt1,cnt2,x,y,要求构造一个数列1,2,3…v,其中选出cnt1个数字不能被x整除,选出cnt2个数不能被y整除(两组数中不能有相同的)

    做法:二分答案+容斥原理

    I CodeForces 483C Diverse Permutation

    题意:给定n和k,要求构造一个长度为N的数列,使得相邻两个数字的差的绝对值的个数为k

    做法:构造

    I CodeForces 483D Interesting Array

    题意:给定N,M,接着给出M个区间,表示这M个区间的数字的与为Qi,问是否可以求出原本的序列,满足要求

    做法:线段树。由于已知的是若干数的相与之后的结果,我们需要尽可能的存下来所有的1,那么我们对所有重复的区间求或,这样可以保留尽可能多的1。然后根据构造出来的这么一个序列,判断是否满足要求。

    题目+简要题解+代码

  • 相关阅读:
    软件设计师2006年11月下午试题6(C++ 状态模式)
    Delphi中使用RegExpr单元进行匹配与替换操作
    正则表达式中贪婪与懒惰匹配
    C++类属性算法equal和mismatch
    lazarus下使用正则表达式
    正则表达式在每行开头插入行号
    STL向量构造函数
    软件设计师2004年5月下午试题6(C++ 数组下标检测)
    演示STL双端队列的push_back和push_front函数
    用正则表达式改小写为大写
  • 原文地址:https://www.cnblogs.com/Coolaaa/p/5243800.html
Copyright © 2011-2022 走看看