样例1输入
6
0 0
1 0
1 1
3 1
5 1
7 1
样例1输出
3
样例1解释
按照规则一,最佳阈值的选取范围为0,1,3,5,7。
θ=0时,预测正确次数为4;
θ=1时,预测正确次数为5;
θ=3时,预测正确次数为5;
θ=5时,预测正确次数为4;
θ=7时,预测正确次数为3。
阈值选取为1或3时,预测准确率最高;
所以按照规则二,最佳阈值的选取范围缩小为1,3。
依规则三,θ*=max1,3=3。
样例2输入
8
5 1
5 0
5 0
2 1
3 0
4 0
100000000 1
1 0
样例2输出
100000000
子任务
70%的测试数据保证m<=200;
全部的测试数据保证1<=m<=105。
解决思路:
选定一个θ,小于θ,要等于0
,大于等于要等于1;
子任务的问题要单独定义,注意循环内部的条件问题;
还要对p进行单独排序;
目前代码仅仅50分,参考其他大佬答案,是使用结构体和前缀和来解决的。后续再修改。
#include<bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5