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

微信怎么做捐钱的网站pc 移动的网站开发

微信怎么做捐钱的网站,pc 移动的网站开发,响应式网站如何实现,跨境电商入门基础知识文章目录 小S与机房里的电脑 Computer传统题题目描述输入格式输出格式样例样例输入 1样例输出 1样例输入 2样例输出 2 提示解题思路AC CodeEnd 小S与机房里的电脑 Computer 传统题 时间限制: 1000ms内存限制: 256MiB 题目描述 最近小S想带他的学生打组队娱乐赛#xff0c;… 文章目录 小S与机房里的电脑 Computer传统题题目描述输入格式输出格式样例样例输入 1样例输出 1样例输入 2样例输出 2 提示解题思路AC CodeEnd 小S与机房里的电脑 Computer 传统题 时间限制: 1000ms内存限制: 256MiB 题目描述 最近小S想带他的学生打组队娱乐赛比赛规定每队三个人只能其中一个人用电脑进行代码的编写。 但是现在隔壁教室因为上大型集训课拿走了所有的充电器导致最后只剩下一个充电器可以拿来充电。但是 n n n 个队伍需要 n n n 台电脑并且组队娱乐赛要进行 m m m 分钟每台电脑有初始的电量 a i a_i ai​ 每分钟的耗电量 b i b_i bi​ 。没有办法小S只能通过他的电路知识来改装这个充电器使得它具有足够的功率来帮助同学们完成这场比赛。 但是功率越大危险度越高小S希望你帮他计算一下充电器至少每分钟要充多少电才能满足大家的需求。 输入格式 第一行一个正整数 T T T 代表多组数据的组数第二行两个整数 n n n 和 m m m第三行 n n n 个整数 a i a_i ai​第四行 n n n 个整数 b i b_i bi​ 输出格式 输出一行整数代表满足比赛需求的充电器每分钟最小的充电量若无法满足需求则输出 -1。 样例 样例输入 1 2 2 4 3 2 4 2 2 2 2 10 3 15样例输出 1 5 -1样例输入 2 2 1 5 4 2 1 6 4 2样例输出 2 1 2提示 全部数据包括 n ≤ 2 × 1 0 5 n \leq 2 \times 10^5 n≤2×105 1 ≤ m ≤ 2 × 1 0 5 1 \leq m \leq 2 \times 10^5 1≤m≤2×105 1 ≤ a i ≤ 1 0 12 1 \leq a_i \leq 10^{12} 1≤ai​≤1012 1 ≤ b i ≤ 1 0 7 1 \leq b_i \leq 10^7 1≤bi​≤107 其中30%的数据保证 n ≤ 100 n \leq 100 n≤100 解题思路 提示这里光看有些抽象结合下面的 Code 理解起来更容易。 思路考虑二分答案二分最小的充电功率。 其中可以用 vector 建桶 v e s [ i ] ves[i] ves[i] 表示存活时间到 i i i 的电脑的结构体下标数组 去枚举 vector 的第一维下标同时设置一个变量 n o w T nowT nowT 表示当前时间 根据贪心的思想选择当前快要没电的那个存活时间到 i i i 的先充电 如果当前时间大于第一维下标说明电脑修不过来了返回 false 否则 n o w T m nowT m nowTm 时说明执行完任务了退出。 小总结 check 中的循环调换了常理。原本正常的思路应该是枚举 n o w T nowT nowT用堆维护当前的最小存活时间如 AC 代码下面的代码 但是这样复杂度 O ( log ⁡ ( 1 0 12 ) × m × log ⁡ ( n ) ) O(\log(10^{12}) \times m \times \log(n)) O(log(1012)×m×log(n))但“好心”的出题人卡 log说明不能这样。 于是我们转而枚举第一维下标解决了问题这种思路很值得积累。 程序运行过程 输入用结构体存储每一台电脑的基础信息和存活时间。二分答案充电功率往小了二分。 check(){ 预处理每一台电脑用 vector 建桶这样查询插入复杂度 O ( 1 ) O(1) O(1)。不断枚举 vector 的第一维下标不断修电脑直到有的电脑最大存活时间小于当前枚举的时间退出。一直执行至 n o w T m nowT m nowTm说明可以完成任务返回 TRUE。 } AC Code 这道题貌似要加快读不然会被卡常。快读讲解文章 #include bits/stdc.h using namespace std;typedef long long ll;int T, n, m;struct Node{ll a, b;ll t_a; // 表示当前还能存活多长时间 }N[100005]; vector int A[100005];bool check(ll x){for(int i 0; i m; i ) A[i].clear(); // 先清空后使用for(int i 1; i n; i ){ // 初始化赋值N[i].t_a N[i].a;if(N[i].b ! 0 N[i].t_a / N[i].b 1 m){ // 如果存活时间在m之内说明还有计算的必要它可能会撑不住A[N[i].t_a / N[i].b 1].push_back(i); // 塞到对应的桶中}}int nowT 1; // 当前时间的计数器for(int i 1; i m; i ){ // 枚举m个时间单位作为判断标准可以理解为理想化的时间while(A[i].size() 0){ // 这个内层循环最多执行n次所以总时间复杂度不是O(n^2)是线性O(n)的if(nowT i){ // 如果当前时间i说明已经超时了return false;}if(nowT m){return true; // 说明顺利执行完m秒可以返回}int pos A[i].back(); A[i].pop_back();N[pos].t_a x; // 把充电器给他充上。因为当前的压线时间是i所以肯定要先给快没电的也就是当前时间i充电。至于先后顺序就无所谓了。nowT ;if(N[pos].t_a / N[pos].b 1 1LL * m){ // 注意a[i]1e12m不强转ll可能会出问题A[N[pos].t_a / N[pos].b 1].push_back(pos);} // cout debug: i A[i].size() nowT endl;} // cout debug_i: i endl;}return true; }template typename T void read(T w){ // 防止卡常加快读w 0;char c getchar();for(; c 0 || c 9; c getchar());for(; c 0 c 9; c getchar()){w (w 1) (w 3) (c ^ 48);} }int main() {for(read(T); T --; ){read(n), read(m);for(int i 1; i n; i ){read(N[i].a);}for(int i 1; i n; i ){read(N[i].b);} // cout check(10) endl;ll l 0, r 1e12, ans -1;while(l r){ll mid (l r) 1;if(check(mid)){ans mid;r mid - 1;}else{l mid 1;}}printf(%lld\n, ans);}return 0; }附上面提到的被卡超时的代码 //超时TLE #include bits/stdc.h using namespace std;typedef long long ll;const int MAXN 2e5 7;int T , n , m;struct Node{ll a , b;ll t_a; }no[MAXN];bool check(ll x){map int , vector int vis;for(int i 1; i n; i ){ //预处理no[i].t_a no[i].a;if(no[i].b ! 0 no[i].t_a / no[i].b 1LL * m){vis[no[i].t_a / no[i].b].push_back(i);}else{//pass}}for(int tim 0; tim m; tim ){if(vis.empty()){return true;}int pos vis.begin()-first;if(pos tim){return false;}ll t1 vis[pos].back(); vis[pos].pop_back();if(vis[pos].size() 0){vis.erase(vis.begin());}no[t1].t_a x;if(no[t1].t_a / no[t1].b m){vis[no[t1].t_a / no[t1].b].push_back(t1);}}return true; }int main() {for(scanf(%d , T); T; --T){scanf(%d %d , n , m);for(int i 1; i n; i ){scanf(%lld , no[i].a);}for(int i 1; i n; i ){scanf(%lld , no[i].b);} // cout check(5) endl;ll l 0 , r 1e12 , ans -1;while(l r){ //二分充电功率往小了二分ll mid (l r) 1;if(check(mid)){ans mid;r mid - 1;}else{l mid 1;}}printf(%lld\n , ans);}return 0; }End 感谢大家观看祝大家 AC 这里是 YLCHUP拜拜ヾ(•ω•)o 广告本文在洛谷博客同步发送个人洛谷账号ylch
http://www.hkea.cn/news/14336021/

相关文章:

  • 青岛市建设安全监督站网站正常网站跳出率
  • 国内阿里网站建设精东影视文化传媒有限公司官网
  • 搭建一个网站的步骤企业网站免费模板
  • 扬州网站开发公司wordpress自定义筛选
  • 有哪个网站可以做链接南宁网站开发建设
  • php商城网站开发实例视频教程wordpress komiles
  • 南宁网站建设gxjzdrj北京企业网站报价
  • 什么软件可以做dj视频网站昌平最好的网站建设
  • 三星官网网站弹幕网站怎么做
  • 3g版网站制作网上怎么打广告
  • 加强网站内容保密建设优秀营销软文范例500字
  • 群晖可以做网站服务器吗旅游网站建设启动方案
  • wordpress 显示当前分类长沙seo报价
  • 个人备案网站能做什么搭建一个20人的办公网络
  • 公司网站如何推广淘宝网站建设类直通车
  • 千博企业网站管理系统旗舰版dw做网站一般是多大的尺寸
  • 免费建设网站的方法分销渠道
  • 律所网站建设要求书定制网站开发的意思
  • 哪儿提供邢台做网站沈阳cms建站模板
  • 温州企业网站建设公司wordpress 调用编辑器
  • 肥东县建设局网站网站设计模板免费下载
  • 制作一个公司网站多少wordpress翻书
  • 网站域名被注销wordpress关键词连接插件
  • 货代到哪个网站开发客户温州英文seo
  • 沈阳网站优化怎么做wordpress小说插件
  • 深圳住房宝安和建设局网站58同城类型网站制作
  • 建网站一般要多少钱wordpress 在线检测
  • 网站建设 搜狐号电子商务网站建设感悟
  • 怎样设计网页的首页德州乐陵德州seo公司
  • 大型网站域名西宁解封最新通知