T1:从 log(n)/log(2)log(n)/log(2)log(n)/log(2) 开始从大到小枚举pow(2,i)pow(2,i)pow(2,i) 是否小于n,小于则 n-=pow(2,i)pow(2,i)pow(2,i) ,用数组保存 pow(2,i)pow(2,i)pow(2,i) ,奇数直接输出-1,最后如果n不为0也输出-1。
T2:大根堆记录未上线的,小根堆记录上线的,每次输入看把输入的放到哪一堆,另外如果算上线人数用 floorfloorfloor (i×wi×wi×w%) 可能会出错。
T3:getline读入+栈计算
T4:虽然我用的是加了剪枝的dfsdfsdfs,但是我觉得他们说的用 dpdpdp 是对的,最短路貌似也可以卡,全用longlonglonglonglonglong比较保险。