当前位置: 首页 > news >正文

上海快速网站建设上海app开发

上海快速网站建设,上海app开发,免费h5模板,wordpress多页面统一头部CF1119G. Get Ready for the Battle 题目描述 Solution 妙妙构造题。 考虑这样一个过程#xff1a;所有人一起打第一个怪#xff0c;每次打nnn#xff0c;最后剩下k1nk_1nk1​n#xff0c;就找一些加起来正好为k1k_1k1​的组打掉k1k_1k1​#xff0c;剩下的…CF1119G. Get Ready for the Battle 题目描述 Solution 妙妙构造题。 考虑这样一个过程所有人一起打第一个怪每次打nnn最后剩下k1nk_1nk1​n就找一些加起来正好为k1k_1k1​的组打掉k1k_1k1​剩下的n−k1n-k_1n−k1​打第二个怪然后重复打nnn余数k2k_2k2​找一些组正好打掉这样一个过程直到剩下最后一个怪打玩n−km−1n-k_{m-1}n−km−1​再一直打nnn到非正。 若能够构造s1..ms_{1..m}s1..m​满足可以配成k1...km−1k_1...k_{m-1}k1​...km−1​中的任意数。 即可求出答案为⌈∑ain⌉\lceil \frac{\sum a_i}{n} \rceil⌈n∑ai​​⌉。 于是我们将kkk排序令siki1−kis_ik_{i1}-k_{i}si​ki1​−ki​smn−km−1s_mn-k_{m-1}sm​n−km−1​可以满足任意kik_iki​为sss前缀和中的一个。 构造完sis_isi​之后事实上只需要用a1a_1a1​依次减s[1...m]s[1...m]s[1...m]减完s[m]s[m]s[m]之后再从s[1]s[1]s[1]开始减。若减的过程中a1≤0a_1\leq 0a1​≤0则用a2a_2a2​继续减直到am≤0a_m\leq 0am​≤0。 事实上这样做a1..(m−1)a_{1..(m-1)}a1..(m−1)​都会减为0达到最优解。 原因参照下例 a1−n−n−...−n−k10a_1-n-n-...-n-k_10a1​−n−n−...−n−k1​0 a2−(n−k1)%n−n−n−...−n−k20a_2-(n-k1)\%n-n-n-...-n-k_20a2​−(n−k1)%n−n−n−...−n−k2​0 a3−(n−k2)%n−n−n−...−n−k30a_3-(n-k2)\%n-n-n-...-n-k_30a3​−(n−k2)%n−n−n−...−n−k3​0 .................. am−(n−km−1)%n−n−n−...−n≤0a_m-(n-k_{m-1})\%n-n-n-...-n\leq0am​−(n−km−1​)%n−n−n−...−n≤0 kik_iki​与(n−ki)(n-k_i)(n−ki​)配成一段连续的s[1..m]s[1..m]s[1..m]。 且不可能出现如下情况 a1−n−n−...−n−k10a_1-n-n-...-n-k_10a1​−n−n−...−n−k1​0 a2−k20(a2(n−k1)%n)a_2-k_20\;\;(a_2(n-k1)\%n)a2​−k2​0(a2​(n−k1)%n) .................. 因为k2(a1a2)%nk_2(a_1a_2)\%nk2​(a1​a2​)%n因此k2(k1k2)%nk_2(k_1k_2)\%nk2​(k1​k2​)%n则k1%n0k_1\%n0k1​%n0则k10k_10k1​0。 因此按此过程一定是按s[1..m]s[1..m]s[1..m]连续减下去减完s[m]s[m]s[m]从s[1]s[1]s[1]继续减下去。 Code讲述凌乱理解代码体验极佳 #include vector #include list #include map #include set #include deque #include queue #include stack #include bitset #include algorithm #include functional #include numeric #include utility #include sstream #include iostream #include iomanip #include cstdio #include cmath #include cstdlib #include cctype #include string #include cstring #include ctime #include cassert #include string.h //#include unordered_set //#include unordered_map //#include bits/stdc.h#define MP(A,B) make_pair(A,B) #define PB(A) push_back(A) #define SIZE(A) ((int)A.size()) #define LEN(A) ((int)A.length()) #define FOR(i,a,b) for(int i(a);i(b);i) #define fi first #define se secondusing namespace std;templatetypename Tinline bool upmin(T x,T y) { return yx?xy,1:0; } templatetypename Tinline bool upmax(T x,T y) { return xy?xy,1:0; }typedef long long ll; typedef unsigned long long ull; typedef long double lod; typedef pairint,int PR; typedef vectorint VI;const lod eps1e-11; const lod piacos(-1); const int oo130; const ll loo1ll62; const int MAXN1000005; const ll INF1ll60; /*--------------------------------------------------------------------*/ inline int read() {int f1,x0; char cgetchar();while (c0||c9) { if (c-) f-1; cgetchar(); }while (c0c9) { x(x3)(x1)(c^48); cgetchar(); }return x*f; } VI Ans; int a[MAXN],b[MAXN],s[MAXN]; int main() {int nread(),mread(),sum0; b[1]n;for (int i1;im;i) sum(a[i]read()),b[i1]sum%n;sort(b1,bm1);for (int i1;im;i) s[i]b[i]-b[i-1];for (int i1,id0;im;i){int ta[i];while (t0) Ans.PB(i),t-s[id%m1],id;}printf(%d\n,(sum-1)/n1);while (Ans.size()%m) Ans.PB(1);for (int i1;im;i) printf(%d%c,s[i], \n[i%m0]);for (int i0;iAns.size();i) printf(%d%c,Ans[i], \n[(i1)%m0]);return 0; }
http://www.yutouwan.com/news/399467/

相关文章:

  • 如何做网站轮播大图清远市清城区发布
  • 电子商务网站开发教程书内代码我wordpress top主题
  • 恩施网站制作公司360建筑网官网怎么登录
  • 对php网站开发技术课程总结Nginx伪静态WordPress
  • 网站备案登记网站设计步骤详解
  • 白石桥做网站公司制作灯笼的材料
  • 查询网站空间的服务商网站死链删除
  • 搭建一个网站要多少中国世界排名
  • 企业网站的重要性网站建设交易平台
  • 安顺做网站台州响应式建站
  • 营销型网站策划建设微信小程序设计制作
  • 网站后台费用流控插件wordpress
  • 哪些网站怎么进网站制作服务好的商家
  • 网站域名要怎样规划南通建设局网站查询
  • 新东方研学网站那家公司做的扬中网站建设好么
  • 东莞市专注网站建设中江移动网站建设
  • 流媒体网站建设规划 所需设备关于医疗保障局门户网站建设
  • 手机app是用什么软件开发的长沙seo网站建设袁飞最好
  • 建论坛型网站微信公众平台公众号
  • 浚县网站建设东莞市建设工程检测中心网站
  • 青岛谷歌网站建设装饰设计公司资质
  • 建设银行网站注销春节网站怎么做
  • 将网站制作成app建设网站的分析
  • 网站模板代理电话自己做网站大概需要多少钱
  • 英选 网站开发蒲县网站建设
  • 大连网站建站美工设计
  • 梦幻创意网站建设微信推广文案范文
  • 模板网站 可以做推广吗企业网站建设市场的另一面
  • 网站建设和制作怎么赚钱企业网站价格
  • 南宁营销型网站建设哪家好做食物网站应该考虑些什么