{"id":992,"date":"2014-10-02T07:31:01","date_gmt":"2014-10-01T23:31:01","guid":{"rendered":"http:\/\/www.shuizilong.com\/house\/?p=992"},"modified":"2014-10-02T07:33:58","modified_gmt":"2014-10-01T23:33:58","slug":"poj-1180-batch-scheduling","status":"publish","type":"post","link":"https:\/\/www.shuizilong.com\/house\/archives\/poj-1180-batch-scheduling\/","title":{"rendered":"POJ 1180. Batch Scheduling"},"content":{"rendered":"<p><!--more--><\/p>\n<h3>Brief description: <\/h3>\n<p>N\u4e2a\u4efb\u52a1\u6392\u6210\u4e00\u4e2a\u5e8f\u5217\u5728\u4e00\u53f0\u673a\u5668\u4e0a\u7b49\u5f85\u5b8c\u6210\uff08\u987a\u5e8f\u4e0d\u5f97\u6539\u53d8\uff09\uff0c\u8fd9 N \u4e2a\u4efb\u52a1\u88ab\u5206\u6210\u82e5\u5e72\u6279\uff0c\u6bcf\u6279\u5305\u542b\u76f8\u90bb\u7684\u82e5\u5e72\u4efb\u52a1\u3002<br \/>\n\u4ece\u65f6\u523b 0 \u5f00\u59cb\uff0c\u8fd9\u4e9b\u4efb\u52a1\u88ab\u5206\u6279\u52a0\u5de5\uff0c\u7b2ci\u4e2a\u4efb\u52a1\u5355\u72ec\u5b8c\u6210\u6240\u9700\u7684\u65f6\u95f4\u662f Ti\u3002\u5728\u6bcf\u6279\u4efb\u52a1\u5f00\u59cb\u524d\uff0c\u673a\u5668\u9700\u8981\u542f\u52a8\u65f6\u95f4 S\uff0c<br \/>\n\u800c\u5b8c\u6210\u8fd9\u6279\u4efb\u52a1\u6240\u9700\u7684\u65f6\u95f4\u662f\u5404\u4e2a\u4efb\u52a1\u9700\u8981\u65f6\u95f4\u7684\u603b\u548c\uff08\u540c\u4e00\u6279\u4efb\u52a1\u5c06\u5728\u540c\u4e00\u65f6\u523b\u5b8c\u6210\uff09\u3002<br \/>\n\u6bcf\u4e2a\u4efb\u52a1\u7684\u8d39\u7528\u662f\u5b83\u7684<font color=\"red\">\u5b8c\u6210\u65f6\u523b<\/font>\u4e58\u4ee5\u4e00\u4e2a\u8d39\u7528\u7cfb\u6570Fi\u3002\u8bf7\u786e\u5b9a\u4e00\u4e2a\u5206\u7ec4\u65b9\u6848\uff0c\u4f7f\u5f97\u603b\u8d39\u7528\u6700\u5c0f\u3002\uff081 <= N <= 10000\uff09\n\n\n\n<h3>Analysis: <\/h3>\n<p>\u8c03\u6574 $$T_i$$ \u4e3a\u524d\u7f00\u548c\uff0c$$F_i$$ \u4e3a\u540e\u7f00\u548c\u3002<\/p>\n<p>$$! \\begin{aligned} f_i &#038;= \\min_{0 \\leq j < i}\\big\\{ f_j + ((T_i+S)-T_j)F_{j+1} \\big\\} \\\\ &#038;= \\min_{0 \\leq j < i}\\big\\{(T_i+S)F_{j_1} + (f_j - F_{j+1}T_j) \\end{aligned} $$\n\n\u5199\u6210\u659c\u7387\u4f18\u5316\u7684\u6807\u51c6\u5f62\u5f0f\uff0cb = kx + y\n\n\u8fd9\u91cc\u6709\uff1a\n\n\n<ul>\n<li>$$k = T_i + S$$<\/li>\n<li>$$x = F_{j+1} $$<\/li>\n<li>$$y = f_j &#8211; F_{j+1}T_j $$<\/li>\n<\/ul>\n<p>\u8fd9\u91cc $$x$$ \u548c $$k$$ \u5747\u5355\u8c03\uff0c\u5355\u8c03\u961f\u5217\u5373\u53ef\u3002<\/p>\n<p><a href=\"https:\/\/www.shuizilong.com\/house\/wp-content\/uploads\/2014\/10\/1.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"615\" data-permalink=\"https:\/\/www.shuizilong.com\/house\/archives\/bzoj-1492-noi2007%e8%b4%a7%e5%b8%81%e5%85%91%e6%8d%a2cash\/1-5\/\" data-orig-file=\"https:\/\/www.shuizilong.com\/house\/wp-content\/uploads\/2012\/12\/1.jpg\" data-orig-size=\"285,257\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"1\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.shuizilong.com\/house\/wp-content\/uploads\/2012\/12\/1.jpg\" data-large-file=\"https:\/\/www.shuizilong.com\/house\/wp-content\/uploads\/2012\/12\/1.jpg\" data-id=\"615\"  src=\"https:\/\/www.shuizilong.com\/house\/wp-content\/uploads\/2014\/10\/1.png\" alt=\"\" title=\"1\" width=\"285\" height=\"257\" class=\"aligncenter size-full\" \/><\/a><\/p>\n<pre class=\"brush: cpp; light: false; title: ; toolbar: true; notranslate\" title=\"\">\r\n\r\n\/\/}\/* .................................................................................................................................. *\/\r\n\r\nconst int N = int(1e4) + 9;\r\nint _T&#x5B;N], _F&#x5B;N], T&#x5B;N], F&#x5B;N]; int q&#x5B;N], cz, op;\r\nLL f&#x5B;N];\r\nint n, S;\r\n\r\n#define k (LL)(T&#x5B;i]+S)\r\n#define x(j) (F&#x5B;j+1])\r\n#define y(j) (f&#x5B;j]-(LL)T&#x5B;j]*F&#x5B;j+1])\r\n#define eval(j) (k*x(j) + y(j))\r\n\r\nLL det(LL x1, LL y1, LL x2, LL y2){\r\n    return x1*y2 - x2*y1;\r\n}\r\nint dett(int p0, int p1, int p2){\r\n    LL t = det(x(p1)-x(p0), y(p1)-y(p0), x(p2)-x(p0), y(p2)-y(p0));\r\n    return t &lt; 0 ? -1 : t &gt; 0;\r\n}\r\n\r\n\r\nint main(){\r\n\r\n#ifndef ONLINE_JUDGE\r\n    freopen(&quot;in.txt&quot;, &quot;r&quot;, stdin);\r\n    \/\/freopen(&quot;out.txt&quot;, &quot;w&quot;, stdout);\r\n#endif\r\n\r\n    while (~scanf(&quot;%d&quot;, &amp;n)){\r\n\r\n        RD(S); REP_1(i, n){\r\n            RD(_T&#x5B;i], _F&#x5B;i]);\r\n            T&#x5B;i] = T&#x5B;i-1] + _T&#x5B;i];\r\n        }\r\n\r\n        F&#x5B;n] = _F&#x5B;n]; DWN(i, n, 0) F&#x5B;i] = F&#x5B;i+1] + _F&#x5B;i];\r\n\r\n        int cz = 0, op = 0; REP_1(i, n){\r\n            while (cz &lt; op &amp;&amp; eval(q&#x5B;cz]) &gt;= eval(q&#x5B;cz+1])) ++cz; f&#x5B;i] = eval(q&#x5B;cz]);\r\n            while (cz &lt; op &amp;&amp; dett(q&#x5B;op-1], q&#x5B;op], i) &gt;= 0) --op; q&#x5B;++op] = i;\r\n        }\r\n\r\n        OT(f&#x5B;n]);\r\n    }\r\n}\r\n\r\n<\/pre>\n<p><a href=\"http:\/\/acm.hust.edu.cn\/vjudge\/problem\/viewSource.action?id=2801195\">http:\/\/acm.hust.edu.cn\/vjudge\/problem\/viewSource.action?id=2801195<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[1],"tags":[136],"class_list":["post-992","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag--dp"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p2tdP7-g0","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/992","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/comments?post=992"}],"version-history":[{"count":1,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/992\/revisions"}],"predecessor-version":[{"id":994,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/posts\/992\/revisions\/994"}],"wp:attachment":[{"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/media?parent=992"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/categories?post=992"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.shuizilong.com\/house\/wp-json\/wp\/v2\/tags?post=992"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}