zoukankan      html  css  js  c++  java
  • 【做题记录】人类智慧

    CF741C Arpa’s overnight party and Mehrdad’s silent entering

    描述:有 (2n) 个人坐在一张圆桌,第 (1) 个位置与第 (n) 个位置相邻。现在给他们分配 (1)(2) 两种食物。要求任意相邻的三个人食物不完全相同。求是否有可行的分配方案。

    转换:将任意相邻的三个人不完全相同转换为,要求 (2i)(2i-1) 的食物不同。

    CF1592D Hemose in ICPC ?

    描述:给定一棵树,每一条边有一个边权。交互中每次询问一个点集,交互库返回这些点中所有相邻的点之间的边的最大值。请求出边权最大的边的两个端点。((nle 1000) ,最多可以进行 (12) 次交互)

    转换:因为要尽量选择相邻的点,可以想到用欧拉序来存储相邻的边(的两个端点),每次选取欧拉序上一段边询问,二分即可。

    CF1551F Equidistant Vertices

    描述:给定一棵树,在其中选出 (k) 个点使得任意两个点之间的距离相等((nle 100))。

    转换:若干 (k>2),等价与对于每一个点假定它为根并不选择它,在以它的子树中选择 (k) 个属于不同子树且深度相同的点的方案。( ext{dp}) 处理即可。

    P2596 [ZJOI2006]书架

    描述:给定一个序列,每次序列中第 (x) 个数放到序列的最前面或最后面,并输出这个数。

    转换:开三倍(长度+询问次数)的树状数组,放在最前面或最后面直接把这个数丢到现在的 (L-1)(R+1),查询直接二分((O(log^2)))或树状数组上二分((O(log)))。

    并查集将两个点分开

    描述:给定 (n) 个点,(m) 次操作,每次规定两个点属于两个不同的集合。对于每次操作判断这次操作是否合法。

    转换:对于每个点建立 (x)(x'),属于两个不同的集合即合并 (x,y')(x',y),若某一时刻 (x)(x') 属于同一个集合,那么不合法。

  • 相关阅读:
    Redis 分区
    Redis 管道技术
    8完善博客 8-1 博客主页面开发
    7章 Admin
    6章 Models
    开发第一个Template
    云服务器装teamviewer
    Centos搭建图形界面VNC
    创建应用,并了解应用目录下各文件的作用,同时创建第一个文件响应
    setings.py配置文件详解
  • 原文地址:https://www.cnblogs.com/EricQian/p/15332505.html
Copyright © 2011-2022 走看看