Educational Codeforces Round 64 (Rated for Div. 2)

题目链接:https://codeforces.com/contests/1156

A. Inscribed Figures

题目大意:假设1代表圆形,2代表正三角形,3代表正方形,那么如例一所示2 1 3就代表正三角形内接圆形,同时内接圆的内部再内接正方形。那么现在所需要求的就是通过不断内接图形最终有多少个交点,如果在这个过程中内接的图形与之有边重合则 Infinite

解题思路:分别画出1 2 3 、1 3 2、2 1 3、2 3 1、3 1 2、3 2 1,就可以得出规律如下

  • 1中内接2或者2中内接1,则有3个交点
  • 1中内接3或者3中内切1,则有4个交点
  • 2和3相连一定存在边重合的现象,所以2和3之间一定要有1,否则 Infinite
  • 特殊情况 3 1 2,存在重合点,需要特别判断

查看代码:https://github.com/UNICKCHENG/code/blob/master/codeforces/1156A_Inscribed%20Figures.cpp

 

B. Ugly Pairs

题目大意:给定由小写字母组成的字符串,现在规定按照26字母表中相邻的字母不能在字符串中的位置也相邻,需要对字符串中各个字符的位置重新,问重新排列后是否可以达到题目要求,如果可以的话,输出排列后的结果(结果不唯一),否则的话,输出“No answer“

解题思路:把字符串各个字母出现的次数存进num[26]数组中,然后根据num[26]将26字母表中偶数位的字母存进字符串s1中,再将26字母表中奇数位的字母存进字符串s2中,最后的组合有s1+s2或者s2+s1,而这样的组合一定满足题目要求

查看代码:https://github.com/UNICKCHENG/code/blob/master/codeforces/1156B_Ugly%20Pairs.cpp

 

C. Match Points

 题目大意:给定n个数,要求在这n个数中找到两两匹配的数,匹配的条件为

    • 已经参与匹配的数不可再次参与匹配
    • 两个匹配的数字差的绝对值不小于z

    问由n个数组成的序列中,最多可以组成多少对这样的匹配数

解题思路:先从小到大排序,再用尺选法进行匹配,时间复杂度为O(nlogn)

查看代码:https://github.com/UNICKCHENG/code/blob/master/codeforces/1156C_Match%20Points.cpp

 

D. 0-1-Tree

 

E. Special Segments of Permutation

 

F. Card Bag

 

G. Optimizer

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值