个人感受:这套题是真的难,以至于,拿了130分就第三了(说来羞耻,真的不想---)

问题 A: 乐曲创作

时间限制: 1 Sec  内存限制: 256 MB
提交: 370  解决:
58
[提交][状态][讨论版]

题目描述

小可可是音乐学院的一名学生,他需要经常创作乐曲完成老师布置的作业。

可是,小可可是一个懒惰的学生。所以,每次完成作业时,他不会重新创作一首新的乐曲,而是去修改上一次创作过的乐曲作为作业交给老师。小可可的乐曲由N个音调不同的音符组成,分别记为音符1…N。因此,他创作的乐曲是由1…N的一个排列构成,例如N=5时,他创作的乐曲可能为:2,1,3,5,4。但是,小可可每一次会按照一定的要求修改上一次创作的乐曲。他规定,修改过后的乐曲必须与上一次创作的乐曲的悦耳值相同。所谓悦耳值就是他所创作的乐曲,也就是1…N的排列中逆序对的个数。逆序对是指对于1…N的一个排列A1,A2,...,An中的两个数Ai,Aj,满足i<j而Ai>Aj,例如:2,1,3,5,4 这个排列中有2个逆序对,分别为:(2,1),(5,4)。可是,满足条件的排列有很多,小可可会选择在这些满足条件的排列中字典序大于上次创作乐曲的排列的字典序,且字典序尽量小的那一个排列作为新的乐曲。这里的字典序指:排列A:A1,A2…An和排列B:B1,B2…Bn,若存在一个数k,使得Ak<Bk,且A1=B1,A2=B2,……,Ak-1=Bk-1,我们就称排列A的字典序小于排列B的字典序。

由于小可可最近要参加学校的篮球比赛,他没有空余时间完成老师布置的作业,于是他希望作为他好友的你帮助他完成作业。

输入

第1行1个正整数N,表示小可可的乐曲由N个音调不同的音符组成。

第2行为N个不同的正整数,表示1…N的一个排列,即小可可上次创作的乐曲。

输出

输出只有一行,为1...N的一个排列,表示你帮助小可可修改后的乐曲。

数据保证有满足条件的解。

样例输入

3
2 3 1

样例输出

3 1 2

30% 的数据,1≤N≤10

60%的数据,1≤N≤1000 ;

100% 的数据,1≤N≤500000。

准备复赛

时间限制: 1 Sec  内存限制: 256 MB
提交: 167  解决:
10
[提交][状态][讨论版]

题目描述

今年的NOIP初赛真是简单,小可可不用吹灰之力就考进了复赛,但是复赛可没有那么简单了,小可可想要好好准备复赛,争取复赛拿个省一。今天小可可在复习树和图的最大匹配时就碰到这样的一个难题:n个节点满足以下性质的不同的树有多少种。

1、树是有标号的,每个节点被标上1到n之间的整数;

2、每个节点最多和其他3个节点相连,但是1号节点最多和其他2个节点相连;

3、这棵树的最大匹配(把树看成二分图后的最大匹配)数为k。

两棵树被认为不同当且仅当存在两个点u、v,在一棵树中u、v之间有边,另一棵树中u、v之间没边。

由于答案可能很大,所以小可可让你输出答案模1000000007
(109 + 7)。

输入

第一行包含两个正整数n,k。

输出

包含一行,为方案数。

样例输入

4 2

样例输出

12

提示

30% 2<=n<=5

60% 2<=n<=20

100% 2<=n<=50

星球联盟

时间限制: 1 Sec  内存限制: 256 MB
提交: 132  解决:
13
[提交][状态][讨论版]

题目描述

在遥远的S星系中一共有N个星球,编号为1…N。其中的一些星球决定组成联盟,以方便相互间的交流。

但是,组成联盟的首要条件就是交通条件。初始时,在这N个星球间有M条太空隧道。每条太空隧道连接两个星球,使得它们能够相互到达。若两个星球属于同一个联盟,则必须存在一条环形线路经过这两个星球,即两个星球间存在两条没有公共隧道的路径。

为了壮大联盟的队伍,这些星球将建设P条新的太空隧道。这P条新隧道将按顺序依次建成。一条新轨道建成后,可能会使一些星球属于同一个联盟。你的任务是计算出,在一条新隧道建设完毕后,判断这条新轨道连接的两个星球是否属于同一个联盟,如果属于同一个联盟就计算出这个联盟中有多少个星球。

输入

第1行三个整数N,M和P,分别表示总星球数,初始时太空隧道的数目和即将建设的轨道数目。

第2至第M+1行,每行两个整数,表示初始时的每条太空隧道连接的两个星球编号。

第M+2行至第M+P+1行,每行两个整数,表示新建的太空隧道连接的两个星球编号。这些太空隧道按照输入的顺序依次建成。

输出

输出共P行。如果这条新的太空隧道连接的两个星球属于同一个联盟,就输出一个整数,表示这两个星球所在联盟的星球数。如果这条新的太空隧道连接的两个星球不属于同一个联盟,就输出”No”(不含引号)。

样例输入

3 2 1
1 2
1 3
2 3

样例输出

3

提示

【样例1说明】

新建成的隧道连接2、3两个星球。

这条隧道1和2,2和3,1和3之间都存在环形线路。1,2,3同属一个联盟,答案为3

NOIP2017SummerTraining0713的更多相关文章

随机推荐

  1. visual studio xamarin 离线安装文件以及 android 模拟器

    介绍 为了使用vs开发android我也是煞费苦心,先是从网上各种搜刮文章,然后找各种各样的离线包(因为国内网络是下载不了C#/Xamain)的包的,还有各种各样的安装包,都已快接近奔溃的边缘.每次不 ...

  2. 数据绑定技术一:GridView控件

    在网站或应用程序中,要显示数据信息,可用到ASP.NET提供的数据源控件和能够显示数据的控件. 一.数据源控件 数据源控件用于连接数据源.从数据源中读取数据以及把数据写入数据源. 1.数据源控件特点 ...

  3. NHibernate教程(21)——二级缓存(下)

    本节内容 引入 使用NHibernate二级缓存 启用缓存查询 管理NHibernate二级缓存 结语 引入 这篇我还继续上一篇的话题聊聊NHibernate二级缓存剩下的内容,比如你修改.删除数据时 ...

  4. vSphere笔记01~02

    Vmware vsphere 虚拟化 云和大数据的底层!!!! 分类 1.开源:openstack:Linux:难(无图形化) nosqleasystack公司 2.企业版本:vsphere sdn! ...

  5. 将home多余的空间分配到"/"分区下

    一.操作过程 1.df -h 查看分区大小情况; [root@localhost /]# df -h Filesystem            Size  Used Avail Use% Mount ...

  6. 201521123033《Java程序设计》第8周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. answer: 1.2 选做:收集你认为有用的代码片段 2. 书面作业 本次作业题集集合 1.List中指定元 ...

  7. 201521123005 《java程序设计》 第七周学习总结

    1. 本周学习总结 参考资料: XMind 2. 书面作业 Q1ArrayList代码分析 1.1 解释ArrayList的contains源代码 ArrayList的contains源代码 /** ...

  8. 201521123066 《Java程序设计》第四周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.多态性: (1)概念:相同的方法名,不同的实现方法 (2)instanceof运算符:判 ...

  9. 201521123075 《Java程序设计》第11周学习总结

    1. 本周学习总结 2. 书面作业 本次PTA作业题集多线程 1.互斥访问与同步访问 完成题集4-4(互斥访问)与4-5(同步访问) 1.1 除了使用synchronized修饰方法实现互斥同步访问, ...

  10. 多线程面试题系列(6):经典线程同步 事件Event

    上一篇中使用关键段来解决经典的多线程同步互斥问题,由于关键段的"线程所有权"特性所以关键段只能用于线程的互斥而不能用于同步.本篇介绍用事件Event来尝试解决这个线程同步问题.首先 ...