Skip to content

1276: 可以给 小津 送代码了 惨

题目

题目描述

小津在大学期间玩基金,亏损了不少钱,小津非常难过,她决定一雪前耻,一头扎入股票市场,试图赚钱。

股票市场总共有固定数目的股票,此外,为了求稳,小津也可以选择购买银行存款,银行存款可以理解为一支每天增长利率固定不变​的股票。

你需要帮助小津写一个程序操作她的现金、股票和银行存款。在接下来的描述中,不再特殊声明银行存款,而是将其看作股票。

每天小津会知道当天的股票价格,她可以根据该价格做以下事:

  • 购买某支股票
  • 卖出某支股票
  • 什么都不做

你有一个 Manager类,用于代表小津的操作。类的成员变量可以由你自己定义,类的构造函数为 c++ Manager(int day, long long money, int number) 其中 day 表示小津需要操作的天数,money 代表小津的初始钱数,number 代表小津可以操作的股票数目。

小津每天的操作通过函数

c++ std::vector<long long> operate(int day, std::vector<long long> prices) 来实现,其中 day 代表当天天数的序数(为$1$​-base),std::vector<long long> prices 大小为 number,表示当天每支股票每股的价格。

返回值是一个 vector,大小为 number,表示对 number 支股票的操作,正数代表买入股数,负数代表卖出股数,0代表不操作。

对于上述的所有 vector,默认第 0 个代表银行。

在最后一天结束后,我们会根据小津持有的现金、股票(包括银行存款)和最后一天的股票价格来计算小津的资产,小津的最终资产越高,你的得分将越高。

不过,在买卖中,我们有一些规则:

  • 每天单只股票的持仓数量变动不能超过 $10^7$
  • 小津必须能够支付起当天要购买的股票,当然,我们会默认先卖再买

如果你违反了以上规则,你在该测试点的分数将变为 0

另外,为了防止出现小数,所有给出的数据都是实际价格 $\times 10000$ ​​​后取整。

请你在oj上提交 stocks.hpp 中的内容。

股市有风险,投资需谨慎!

输入格式

如果你想进行本地的测试,可以依照以下的格式输入数据

银行日利率 股票支数 操作天数

接下来每一行描述了股票每一天的价格,银行除外

输出格式

样例输入

0.00001 3 500
1000 1010 1007 1016 1025 1037 1028 1023 1031 1024 1026 1025 1029 1025 1026 1040 1053 1057 1064 1053 1056 1042 1034 1023 1032 1022 1019 1008 996 1011 1003 1003 1013 1016 1010 1014 1015 1015 1029 1023 1031 1032 1040 1037 1049 1043 1039 1048 1061 1048 1062 1063 1051 1042 1047 1059 1055 1042 1028 1027 1014 1006 1020 1032 1043 1036 1037 1033 1041 1041 1046 1047 1033 1031 1044 1057 1064 1058 1065 1069 1065 1071 1061 1059 1071 1081 1076 1068 1080 1076 1082 1096 1099 1104 1115 1113 1126 1123 1133 1139 1151 1151 1143 1157 1170 1160 1172 1176 1174 1178 1172 1181 1175 1174 1166 1157 1150 1152 1150 1140 1152 1140 1129 1129 1137 1152 1165 1171 1168 1176 1172 1166 1158 1161 1153 1143 1150 1139 1148 1138 1145 1132 1146 1133 1134 1124 1116 1125 1132 1137 1151 1155 1163 1151 1140 1141 1128 1115 1106 1105 1115 1117 1125 1112 1102 1117 1108 1120 1109 1124 1111 1122 1109 1094 1107 1110 1101 1091 1088 1100 1110 1106 1108 1110 1109 1115 1103 1104 1112 1106 1121 1123 1134 1142 1146 1132 1140 1150 1163 1174 1184 1198 1205 1217 1232 1237 1237 1227 1237 1249 1236 1241 1234 1238 1230 1236 1231 1226 1218 1205 1209 1201 1206 1206 1220 1214 1215 1222 1210 1209 1212 1225 1224 1219 1230 1228 1213 1208 1211 1221 1213 1218 1218 1218 1212 1218 1209 1213 1199 1197 1203 1208 1212 1208 1199 1202 1206 1213 1208 1215 1206 1219 1225 1230 1223 1224 1212 1205 1216 1222 1210 1198 1194 1196 1199 1204 1198 1206 1200 1195 1186 1201 1186 1196 1191 1182 1180 1194 1207 1215 1221 1210 1216 1213 1221 1234 1247 1258 1249 1258 1260 1254 1266 1278 1289 1289 1291 1281 1274 1285 1285 1284 1295 1295 1289 1280 1286 1293 1282 1285 1285 1295 1302 1292 1284 1284 1273 1262 1258 1253 1266 1278 1282 1292 1302 1302 1297 1294 1299 1302 1295 1285 1272 1260 1265 1261 1255 1250 1238 1236 1249 1252 1245 1250 1258 1258 1248 1260 1264 1265 1256 1258 1256 1266 1263 1255 1250 1257 1261 1276 1271 1283 1272 1269 1254 1263 1271 1265 1254 1265 1272 1259 1258 1273 1279 1270 1269 1280 1268 1256 1253 1247 1252 1261 1250 1237 1224 1223 1232 1238 1236 1225 1228 1230 1231 1234 1230 1224 1236 1235 1225 1228 1229 1233 1236 1228 1238 1225 1213 1226 1216 1216 1208 1218 1212 1208 1219 1214 1224 1229 1215 1208 1216 1220 1230 1224 1216 1207 1210 1198 1203 1212 1219 1210 1207 1202 1200 1192 1189 1190 1180 1182 1168 1165 1162 1156 1163 1156 1161 1163 1176 1182 1191 1197 1191 1195 1180 1181 1191 1195 1199 1200 1197 1193 1200 1209 1214 1204 1190 1177 1183 1174 1178 1184 1186 1171 1156 1150 1143 1148 1159 1150 1145 1150 1161 1166 1160 1172 1163 1153 
1000 1000 1010 1015 1027 1018 1015 1021 1032 1034 1041 1054 1046 1059 1061 1074 1074 1076 1089 1098 1108 1111 1116 1131 1144 1139 1150 1153 1157 1165 1173 1182 1175 1178 1177 1167 1176 1187 1198 1203 1200 1203 1206 1210 1211 1201 1203 1189 1195 1196 1206 1207 1195 1195 1195 1182 1192 1189 1193 1192 1181 1178 1171 1168 1154 1161 1163 1172 1175 1174 1173 1188 1175 1162 1166 1169 1161 1153 1157 1170 1177 1176 1174 1185 1199 1213 1225 1233 1228 1229 1221 1220 1234 1233 1245 1259 1250 1249 1258 1266 1278 1271 1279 1293 1288 1285 1287 1289 1293 1284 1283 1279 1284 1297 1288 1291 1302 1290 1286 1277 1281 1284 1289 1292 1279 1281 1283 1275 1261 1256 1241 1254 1257 1265 1277 1290 1280 1279 1279 1288 1292 1306 1296 1290 1302 1298 1310 1318 1317 1310 1323 1312 1323 1327 1334 1347 1338 1332 1322 1313 1317 1307 1296 1288 1302 1288 1278 1267 1266 1271 1284 1272 1276 1263 1260 1260 1258 1252 1244 1256 1258 1249 1235 1233 1243 1251 1247 1262 1248 1249 1240 1245 1251 1246 1258 1263 1258 1245 1253 1262 1268 1274 1286 1280 1288 1282 1291 1282 1285 1272 1260 1250 1242 1231 1234 1221 1233 1246 1233 1246 1245 1238 1241 1231 1234 1233 1243 1256 1257 1260 1267 1259 1252 1256 1257 1243 1256 1252 1243 1244 1241 1235 1240 1244 1242 1235 1241 1236 1228 1236 1229 1235 1221 1231 1242 1245 1240 1245 1246 1257 1250 1243 1230 1231 1243 1246 1247 1257 1271 1278 1273 1269 1255 1241 1226 1226 1220 1226 1236 1236 1235 1222 1213 1213 1226 1212 1200 1192 1198 1201 1189 1203 1214 1204 1203 1211 1219 1204 1206 1213 1220 1233 1221 1230 1243 1231 1224 1216 1225 1213 1221 1214 1204 1217 1225 1213 1228 1238 1233 1239 1238 1236 1241 1236 1239 1228 1216 1212 1201 1206 1195 1207 1210 1201 1206 1207 1201 1214 1222 1211 1197 1198 1195 1186 1185 1175 1169 1167 1152 1157 1146 1145 1133 1142 1151 1157 1169 1180 1167 1154 1155 1145 1158 1146 1143 1146 1150 1156 1157 1154 1164 1166 1179 1171 1180 1176 1173 1161 1170 1167 1175 1188 1199 1209 1216 1220 1221 1225 1225 1227 1232 1218 1226 1229 1218 1207 1198 1206 1216 1223 1214 1219 1213 1201 1213 1201 1200 1193 1184 1178 1183 1197 1189 1189 1197 1210 1199 1193 1195 1199 1210 1202 1207 1211 1221 1230 1238 1224 1227 1231 1239 1247 1241 1228 1240 1230 1220 1216 1214 1210 1215 1203 1198 1209 1212 1200 1209 1217 1214 1210 1207 1200 1203 1190 1202 1200 1212 1217 1216 1215 1209 1201 1193 1195 1189 1178 1186 1186 1186 1177 1188 1177 1171 1162 1147 1159 1153 1162 1167 1173 1163 1149 1163 1171 1159 1170 1161 1176 1177 1182 1181 1191 1203 1209 1206 1197 1207 1197 1202 1197 
1000 996 997 996 1000 1007 1006 1007 992 985 976 982 980 972 977 969 965 966 964 959 946 934 943 954 969 970 964 955 951 949 960 966 975 972 961 959 947 950 964 952 963 953 962 956 953 952 953 960 974 988 976 962 949 961 973 959 957 948 940 948 952 939 938 935 934 937 947 949 940 949 954 941 955 954 951 947 960 973 961 973 984 975 988 1001 989 999 1013 1013 998 989 983 987 980 988 974 981 977 988 982 984 989 1003 1007 1011 1009 994 1009 1005 1018 1006 999 1008 1002 993 1000 997 982 988 1000 985 997 987 991 981 994 999 1010 1003 1005 995 1005 997 985 984 995 996 995 1006 1018 1015 1029 1019 1010 1003 999 1012 1016 1012 1016 1017 1013 1013 1019 1005 1010 1014 1020 1021 1033 1025 1030 1037 1036 1045 1035 1030 1025 1029 1020 1012 998 987 985 976 973 981 970 955 944 951 952 953 946 938 939 951 961 953 951 958 957 945 944 957 969 973 966 958 951 950 949 943 946 957 958 972 977 981 996 1005 1002 1003 998 1002 1009 1020 1021 1024 1012 1026 1021 1023 1009 1018 1019 1032 1030 1039 1028 1034 1026 1029 1014 1024 1023 1024 1033 1022 1012 1020 1033 1035 1029 1022 1013 999 987 994 998 989 994 1007 1016 1023 1030 1024 1028 1018 1006 1015 1026 1021 1018 1029 1018 1029 1026 1039 1054 1056 1062 1074 1063 1048 1038 1032 1018 1011 997 1002 1001 1007 1010 1003 1001 996 998 986 985 990 1001 996 1011 1003 994 983 971 974 961 949 938 946 961 954 962 951 953 962 959 962 961 973 967 953 943 951 947 954 964 974 971 977 966 962 975 970 970 956 969 971 960 947 942 930 925 913 906 918 930 935 935 931 933 942 939 946 948 955 954 950 952 962 949 955 947 932 918 925 911 925 919 909 895 899 893 889 896 897 890 895 886 893 878 886 887 884 884 872 861 874 873 879 887 888 885 900 901 899 906 908 905 891 899 897 902 888 897 894 896 883 869 877 886 872 873 868 866 852 850 852 866 877 870 877 874 879 885 898 886 884 884 884 882 875 888 876 870 878 877 888 897 897 901 904 905 895 908 922 913 908 909 898 889 898 909 912 910 912 913 914 929 916 902 900 895 909 910 913 920 935 934 935 935 923 912 898 892 879 865 864 861 863 867 870 866 866 858 867 854 862 857 844 854 850 850 839 834 849 857 844 859 851 853 853 848 854 855 859 867 869 

样例输出

数据范围

时间限制:3000 ms 空间限制:512 mb

全局限制

  • 股票的支数在 2 到 21 之间,其中第 0 支股票利率恒定,可以认为功能和银行相同
  • 投资天数不超过 100000 天
  • 你的初始资金为 10000 元,乘以 $10^4$ 的之后就是 $10^8$

Oops! 本题目还没有解答!

助教老师们编题的速度,已经超过了解题的速度!

OJ翻了一新,但本解答集还大多用的是2017-2019级,甚至更早的同学们贡献的答案。

如果你已经AC了,可以的话,请您参考添加页面,与大家一起分享你的题解!