[USACO] Gold组刷题记录
题目取自BZOJ,为了查找方便,Gold组将收录进同一篇博客
1717: [Usaco2006 Dec]Milk Patterns 产奶的模式
二分答案(长度)+ Hash 记录出现次数
1 #include<cstdio> 2 #include<iostream> 3 #include<cstring> 4 #define ULL unsigned long long 5 #define maxn 1000007 6 using namespace std; 7 8 const ULL base = 21239; 9 int n,k,ans; 10 ULL h[maxn],P[maxn]; 11 12 struct edge{ int from,ans; ULL val; }e[maxn]; 13 int tot,first[maxn]; 14 void Insert(int L,int R){ 15 ULL code = h[R]-h[L-1]*P[R-L+1]; 16 int w = code%maxn; 17 for(int i = first[w];i;i = e[i].from){ 18 if(e[i].val == code){ ans = max(ans,++e[i].ans); return; } 19 }e[++tot].from = first[w], first[w] = tot, e[tot].val = code; 20 e[tot].ans = 1; ans = max(ans,1); 21 } 22 23 bool Judge(int len){ 24 ans = 0,tot = 0; 25 memset(first,0,sizeof(first)); 26 for(int i = 1;i <= n-len+1;i++){ 27 Insert(i,i+len-1); 28 }return ans >= k; 29 } 30 31 int read(){ 32 int ret = 0; char ctr = getchar(); 33 while(ctr < '0' || ctr > '9') ctr = getchar(); 34 while(ctr >= '0' && ctr <= '9') ret = ret*10+ctr-'0',ctr = getchar(); 35 return ret; 36 } 37 38 int main(){ 39 n = read(),k = read(); 40 41 if(!k) return printf("%d",n),0; 42 43 P[0] = 1; 44 for(int i = 1;i <= n;i++) 45 h[i] = h[i-1]*base+read(), 46 P[i] = P[i-1]*base; 47 48 int L = 0,R = n,mid; 49 while(L < R){ 50 mid = (L+R+1)/2; 51 if(Judge(mid)) L = mid; 52 else R = mid-1; 53 }printf("%d",L); 54 55 return 0; 56 }
据说我用的hash叫做秦九韶?
1724: [Usaco2006 Nov]Fence Repair 切割木板
合并果子qwq
首先我们可以研究怎么让每一次切都非常接近木板中点,我们可以来一次逆向的归并排序
使得木板的切点尽量在中间
然后orzccz跟我说这是合并果子
1 #include<cstdio> 2 #include<iostream> 3 #include<algorithm> 4 #include<queue> 5 using namespace std; 6 7 int n,cnt;long long tot; 8 9 int read(){ 10 int ret = 0; char ctr = getchar(); 11 while(ctr < '0' || ctr > '9') ctr = getchar(); 12 while(ctr >= '0' && ctr <= '9') ret = ret*10+ctr-'0',ctr = getchar(); 13 return ret; 14 } 15 16 priority_queue<int,vector<int>,greater<int> > Q; 17 18 int main(){ 19 n = read(); 20 21 for(int i = 1;i <= n;i++){ 22 cnt = read(); 23 Q.push(cnt); 24 } 25 26 for(int i = 1;i < n;i++){ 27 int a = Q.top(); Q.pop(); 28 int b = Q.top(); Q.pop(); 29 tot += a+b; 30 Q.push(a+b); 31 } 32 printf("%lld",tot); 33 return 0; 34 }
优先队列默认大根堆
转载于:https://www.cnblogs.com/Chorolop/p/7673873.html
[USACO] Gold组刷题记录相关推荐
- 【Codeforces】A3组刷题记录( 43 / 43 )
目录 A1. Combination Lock A2. Summer Camp rzt A3. Soft Drinking ★A4. Coder ★A5. GukiZ and Contest ★A6. ...
- 【Codeforces】A2组刷题记录(50 / 50)完结
目录 A1. Counterexample A2. Good Number A3. Dice Tower ★A4. Alyona and Numbers A5. Mountain Scenery rz ...
- BZOJ刷题记录---提高组难度
BZOJ刷题记录---提高组难度 总目录详见https://blog.csdn.net/mrcrack/article/details/90228694 序号 题号 算法 思想难度 实现难度 总难度 ...
- ACM比赛经验、刷题记录及模板库总结(更新中)
前言 本文所提及的部分题目代码,可以在我的Github上找到 第一部分 经验分享及感受 第二部分 刷题记录 一.基础算法&程序语言 //strlen()函数的复杂度是O(n)要小心 //截取字 ...
- LeetCode刷题记录2——217. Contains Duplicate(easy)
LeetCode刷题记录2--217. Contains Duplicate(easy) 目录 LeetCode刷题记录2--217. Contains Duplicate(easy) 题目 语言 思 ...
- Codeforces 刷题记录(已停更)
Codeforces 每日刷题记录 (已停更) 打'+'是一些有启发意义的题目,部分附上一句话题解,每日更新3题,大部分题目较水. Day ID Problem Tutorial Note 1 1 + ...
- 算法笔记CodeUp第一至第六章刷题记录
文章目录 <算法笔记>2.2小节--C/C++快速入门->顺序结构 1.例题1-1-1 按要求输出信息(1) 2.例题1-1-2 按要求输出信息(2) 3.例题1-2-1 求两个整数 ...
- Pythontip刷题记录
pythontip 刷题记录 11.给你一个正整数列表 L, 输出L内所有数字的乘积末尾0的个数.(提示:不要直接相乘,数字很多,相乘得到的结果可能会很大). 不能直接相乘会太大了,分解质因数,去找2 ...
- 【leetcode热题100】刷题记录(5-8)
[leetcode热题100]刷题记录(5-8) 5. 最长回文子串 2. 两数相加 3. 无重复字符的最长子串 4. 寻找两个正序数组的中位数 5. 最长回文子串 题目链接 给你一个字符串 s,找到 ...
最新文章
- Ueeidor 使用
- Mirantis 收购 Docker EE | 云原生生态周报 Vol. 28
- 【转:SAP PS】 创建项目Project
- 全国计算机等级考试题库二级C操作题100套(第42套)
- VS2008下最新X264(svn 2009.9)编译不过的解决办法
- Java5线程并发库之LOCK(锁)CONDITION(条件)实现线程同步通信
- JavaScript高级语法打包 - babel插件安装配置报错!Error: Cannot find module ‘@babel/preset-preset.env‘
- java http soap_在Spring中发布SOAP HTTP Webservice - Java杂家 - Blo...
- Java中提取字符串中的数字
- 安装最新LAMP环境(CentOS7+PHP7.1.5+Mysql5.7)
- fastdfs原理及过程
- 2020-12-24《重学操作系统——上》林䭽 前阿里巴巴高级技术专家(P8)
- 小米平板2,Windows10与Android互刷教程,小米平板2 线刷教程
- 鸿蒙手机电脑无缝对接,万物互联?华为鸿蒙OS超级终端功能曝光可一键连接附近设备...
- 解决发送push的emoji表情的实用方案
- 项目时间(项目活动持续时间估算、计划编制)笔记
- C++笔记-学习算法与实现-计算几何-二维向量和线段运算
- 高温不怕热,GVS智能家居为你打造夏日清爽雅居
- 【LaTex】第二行作者居中(IEEEtran模板)
- [YOLOv7]基于YOLO&Deepsort的交通车流量统计系统(源码&部署教程)
热门文章
- 微信小程序支付返回信息为空
- (原)ubuntu下cadvisor+influxdb+grafana+supervisord监控主机和docker的containers
- 关于javascript中apply()和call()方法
- hdu 1133 Buy the Ticket(递推+精度精算)
- JavaScript学习 第二课(二)
- 现在每月五千块钱的收入,相当于七八十年代的多少钱?
- 猫连接路由器路由下连七台电脑,为啥每台电脑手动设ip才有网?
- 过去几年的互联网经济,首先是“免费经济”
- 想要改变自己,请先突破这3个自我限制
- 试着当个“刺头”,不要被客户“牵着”鼻子走