编程题:区间树+二分搜索优化
白雪公主和小矮人住在森林里。当小矮人在挖矿时,白雪公主在社交网络上闲逛。
每天早上,小矮人排成一长队,吹着口哨去矿井。白雪公主绕着他们跑,抓拍照片上传到她最喜欢的社交网络上。
当小矮人进入矿井时,白雪公主回到他们的房子,翻阅照片,挑选漂亮的。每个矮人都有一顶彩色帽子,有C种不同的颜色。如果一幅画上有一半以上的帽子是同一颜色的,那么它就是漂亮的。换句话说,如果照片上有K个矮星,如果超过K/2个矮星有相同颜色的帽子,那就很好了。
编写一个程序,检查一组M图片是否漂亮,如果漂亮,主要是什么颜色。
### 输入格式:
第一行包含两个整数N和C(3≤N≤300000, 1≤C≤10000),表示矮星的数量和颜色的数量。
第二行包含N个介于1和C(含)之间的整数,这是矮人帽子的颜色,按照当天早上的排列顺序排列。
第三行包含M(1≤M≤10000),表示图片的数量。
接下来的M行包含两个整数A和B(1≤A≤B≤N)。每行描述一幅图片。在它上面,所有的矮人都是从A-th一直到B-th。
### 输出格式:
输出M行。对于每张图片,如果白雪公主认为图片不漂亮,则输出“no”,如果她认为图片漂亮,则输出“yes X”,其中X是图片上占主导地位的颜色。
### 得分:
在30%的测试用例中,M将小于10。
在30%的测试用例中,C将小于10。
### 输入样例1:
in
10 3
1 2 1 2 1 2 3 2 3 3
8
1 2
1 3
1 4
1 5
2 5
2 6
6 9
7 10
### 输出样例1:
out
no
yes 1
no
yes 1
no
yes 2
no
yes 3
答案:若无答案欢迎评论
每天早上,小矮人排成一长队,吹着口哨去矿井。白雪公主绕着他们跑,抓拍照片上传到她最喜欢的社交网络上。
当小矮人进入矿井时,白雪公主回到他们的房子,翻阅照片,挑选漂亮的。每个矮人都有一顶彩色帽子,有C种不同的颜色。如果一幅画上有一半以上的帽子是同一颜色的,那么它就是漂亮的。换句话说,如果照片上有K个矮星,如果超过K/2个矮星有相同颜色的帽子,那就很好了。
编写一个程序,检查一组M图片是否漂亮,如果漂亮,主要是什么颜色。
### 输入格式:
第一行包含两个整数N和C(3≤N≤300000, 1≤C≤10000),表示矮星的数量和颜色的数量。
第二行包含N个介于1和C(含)之间的整数,这是矮人帽子的颜色,按照当天早上的排列顺序排列。
第三行包含M(1≤M≤10000),表示图片的数量。
接下来的M行包含两个整数A和B(1≤A≤B≤N)。每行描述一幅图片。在它上面,所有的矮人都是从A-th一直到B-th。
### 输出格式:
输出M行。对于每张图片,如果白雪公主认为图片不漂亮,则输出“no”,如果她认为图片漂亮,则输出“yes X”,其中X是图片上占主导地位的颜色。
### 得分:
在30%的测试用例中,M将小于10。
在30%的测试用例中,C将小于10。
### 输入样例1:
in
10 3
1 2 1 2 1 2 3 2 3 3
8
1 2
1 3
1 4
1 5
2 5
2 6
6 9
7 10
### 输出样例1:
out
no
yes 1
no
yes 1
no
yes 2
no
yes 3
答案:若无答案欢迎评论