20170117

T1:

【问题描述】

有一块棋盘,棋盘的边长为 100000,行和列的编号为 1 到 100000。棋盘上

有??个特殊格子,任意两个格子的位置都不相同。

现在小 K 要猜哪些格子是特殊格子。她知道所有格子的横坐标和纵坐标,

但并不知道对应关系。换言之,她只有两个数组,一个存下了所有格子的横坐标, 另一个存下了所有格子的纵坐标,而且两个数组都打乱了顺序。当然,小 K 猜

的??个格子的位置也必须都不相同。

请求出一个最大的??,使得无论小 K 怎么猜,都能猜对至少??个格子的位置。

【输入格式】

输入数据第一行包含一个整数??。 接下来??行,每行描述一个特殊格子的位置。第??行含有两个整数??% 和????,代

表第??个格子的坐标。保证任意两个格子的坐标都不相同。

【输出格式】

输出一行,包含一个整数,代表最大的??。

题解:题目限制比较明显,最小费用最大流即可;

考试的时候以为类似求所有方案的交集大小,没什么办法,只好贪心骗分;

看错题目,身败名裂;

T2:

题目描述

       你有一个n个物品的集合,要从中选出一个k元子集,问你有多少个不同的k元子集。然而这个问题太简单了,所以在这个问题中,这n个物品可能会相同。

       但似乎还是太简单了,所以询问如果插入了一个新的元素,那么有多少个不同的k元集。注意这里的询问是独立的,也就是在原集合的基础上加入元素。

     注意在这个问题中k元集中的物品可以相同,如果两个k元集不同当且仅当存在一个物品在这两个集合中出现次数不同。

       由于答案很大,对998244353取模。

输入格式

       输入第一行包含一个正整数n,表示多重集的大小。接下来一行n个整数,表示每个物品的编号,物品编号在1到n之间。接下来一行一个整数q,表示询问个数。接下来q行,每行两个正整数x和k(1<=x<=n,1<=k<=n+1),表示询问将x插到集合中k元集的个数。

输出格式

       输出q行,每行一个整数表示询问的答案。

样例输入

6

1 2 2 3 3 3

4

1 2

2 3

3 4

4 5

样例输出

6

7

6

8

数据范围

20%的数据,n<=100,q<=100

40%的数据,n<=5000,q<=5000

另外20%的数据,q=1

100%的数据,n<=100000,q<=100000

 

生成函数的题目,准备开坑;

T3:

一个序列对应着一张逆序图,逆序图即,在图中,是序列的逆序对的两个节点,有一条边;

要求图中的既是覆盖集,又是独立集的点集的数量;

n<=1000

题解:

在图中考虑覆盖集和独立集是没什么前途的;

考虑转换成序列,在序列中考虑这两个条件;

独立集:由于是逆序图,所以选择的点集需要在序列中递增(递增子序列);

覆盖集:这需要图中每个未选中的点都与一个已选中的点组成逆序对;---------------考试时想到了这一步,接下来用了dfs;

微观的考察,假设现在i是序列中最后一个选中的点,j成为下一个被选中的点需要满足什么条件?

由于覆盖集的要求,序列i-j中,小于a[i]的可以被a[i]满足条件,大于a[i]的则需要a[j]来使他们满足条件(即a[j]<=min(a[k]) ,a[k]>a[i]),而且这个任务只能由a[j]完成(如果a[j]都完不成,后面就更没有能完成任务的点了),这样就可以满足无后效性的要求;

这样就可以dp了,n^2 dp轻松跑过;

我认为比较好的锻炼思维的题目;

时间: 2024-10-26 04:00:56

20170117的相关文章

生活随笔2017-01-17

原来工作还分功劳和苦劳的呀,呵呵,加的这两年班原来在领导眼里都不值钱. 不过今天亮哥给我指出的来的问题确实是对的: 1.缺乏和同事沟通.不了解组里的其他同事的工作能力,无法分配自己的任务给其他同事. 2.缺乏和上级沟通.人手不够,不要自己埋头干,要和领导提. 3.缺乏合理安排.任务完不成要提前说明,以便及时做出调整,否则任务到期时就真的没办法了.

20170117老男孩linux实战运维培训-SSH KEY免密码验证分发、管理、备份实战讲解01

这一节说的SSH ssh制造私钥和公钥 私钥是钥匙 公钥是锁 把公钥分发到各个要登录的linux服务器上 #ssh-keygen -t dsa 使用这个命令后将会在本机生成一对密钥 私钥 id_dsa 公钥 id_dsa.pub 把公钥放到要登录的服务器上 用命令 #ssh-copy-id -i id_dsa.pub [email protected] 放到公钥放到服务器上后就要开始验证了 命令 #ssh [email protected] 其实也可以用其它命令登录如 #scp -P22 -r

20170117周一干了啥

1.申请序列号 (刚申请过序列号,不需要走领导审批,发送给梁雪琴新的机器码和旧的机器码就行) 2.整理消息发送要做的三个任务 2.1审批人要加上本单位审批人.之前的审批人都是认为是上级审批人,照着上级审批人每个都增加了本单位审批人 2.2给法务-审批通过-集团 加上 审核通过人这一列.从审批记录表中读取出一个审批通过人,放进去 2.3调整涉及审批人和集团审批人的预警定义,去掉SQL中的审批人信息和集团管理人信息,去掉消息体内容的审批人信息(消息体内容的顺序为:主键.模块名.填报单位.填报人.填报

安卓笔记20170117

安卓中的文件存储 Context类中的openFileOutput方法,可用于将数据存储到指定的文件中.此方法接受两个参数,第一个参数是文件名,在文件创建的时候使用的就是这个名称.这里指定的文件名不可以包含路径.因为所有的文件都是默认存储到/data/data/<package name>/files/目录下. 第二个参数是文件的操作模式,主要有两种模式可选: MODE_PRIVATE:默认的操作模式,表示当指定同样文件名的时候,所写入的内容将会覆盖原文件中的内容. MODE_APPEND:表

网络基础协议之http协议

作为一个开发人员,掌握必要的 HTTP 协议十分重要,下面就通过本文记录自己对 HTTP 协议的理解.本文很长,希望你有耐心看完,会有很多收获的,面试的时候很受用. 首先让我们从一个问题入手,当我们在浏览器中输入  http://www.baidu.com/ 访问百度的时候浏览器做了哪些事情.(这里以 Chrome 浏览器为例) 首先 Chrome 搜索自身的 DNS 缓存.(如果 DNS 缓存中找到百度的 IP 地址,就跳过了接下来查找 IP 地址步骤,直接访问该 IP 地址.) 搜索操作系统

Pandas日期数据处理:如何按日期筛选、显示及统计数据

前言 pandas有着强大的日期数据处理功能,本期我们来了解下pandas处理日期数据的一些基本功能,主要包括以下三个方面: 按日期筛选数据 按日期显示数据 按日期统计数据 运行环境为 windows系统,64位,python3.5. 1 读取并整理数据 首先引入pandas库 import pandas as pd 从csv文件中读取数据 df = pd.read_csv('date.csv', header=None) print(df.head(2)) 0 1 0 2013-10-24 3

linux基础入门之文件管理类命令

文件管理类命令 命令和选项 command [options] [arguments] 命令      选项    参数 选项 短选项-   例(-h -l -a) 短选项可组合 例(-hla) 有些命令短选项可以不带-, 通常称作BSD风格的选项 例(ps aux ,tar xf) 有些选项需要带参数 tail -n 2 /etc/passwd 长选项不能组合 --help --list 如果需要参数 长选项的参数通常需要=号  --size=1G 命令后的参数就是命令的作用对象 例:ls /

Python学习day5作业-ATM和购物商城

Python学习day5作业 Python学习day5作业 ATM和购物商城 作业需求 ATM: 指定最大透支额度 可取款 定期还款(每月指定日期还款,如15号) 可存款 定期出账单 支持多用户登陆,用户间转帐 支持多用户 管理员可添加账户.指定用户额度.冻结用户等 购物车: 商品信息- 数量.单价.名称 用户信息- 帐号.密码.余额 用户可充值 购物历史信息 允许用户多次购买,每次可购买多件 余额不足时进行提醒 用户退出时 ,输出当次购物信息 用户下次登陆时可查看购物历史 商品列表分级显示 1

Abp

ASP.NET Zero--15.一个例子(8)商品分类管理-权限控制李子深 2017-01-21 09:49 阅读:263 评论:0 ASP.NET Zero--14.一个例子(7)商品分类管理-分类搜索及分页李子深 2017-01-19 20:43 阅读:58 评论:0 ASP.NET Zero--13.一个例子(6)商品分类管理-删除分类李子深 2017-01-18 20:57 阅读:36 评论:0 ASP.NET Zero--12.一个例子(5)商品分类管理-编辑分类李子深 2017-0