![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法训练营
文章平均质量分 85
ysyyhhh
这个作者很懒,什么都没留下…
展开
-
BUU round2 题解
round 2 题解 这次更多考验算法和编码能力。 题目难度 由易到难 A < F < B D E C A 三角形的类型 几何题 难度 1.5 有多种方法可以做这道题。 需要注意一些点。 三点成一条直线的情况 两个点重合时,三个点重合的情况。 注意精度问题。 如果采用求直线斜率,要注意不能除0。 #include<iostream> #include<cstdio> #include<cmath> using namespace std; const原创 2021-06-27 16:31:09 · 181 阅读 · 0 评论 -
自我总结的ACM从入门到拿牌的几大影响因素
在整理社团需要的准备材料时随手写的,想理理训练的思路。没想到越写越多,又可以水一篇文章了。 目录自身能力基础知识的储备/ 技能树的建立思维能力锻炼思维能力的方法和经验编码能力锻炼编码能力的方法和经验手速总结:比赛的经验心态组队兴趣一些奇思妙想 自身能力 基础知识的储备/ 技能树的建立 基础知识其实就是考察的范围,比如银牌所涉及的范围是铜牌的基础上加很多算法的。想拿对应的牌子,就必须把对应的范围都尽可能地涉猎。如果忽略了一部分知识没有去学习,则一旦比赛出现了这方面的题,就无论如何都解决不了。 获取知识的.原创 2021-05-23 15:59:38 · 392 阅读 · 3 评论 -
Codeforces Round #717 (Div. 2) A—C 反思总结
比赛链接:https://codeforces.com/contest/1516 A 题目大意 n个元素,最多k次操作,每次操作选择两个元素,其中一个++另一个–,不能出现负数。输出最多k次操作后,字典序最小的元素序列。 解题情况 一共 wa 了两发。 wa了第一发的时候没有检查语法错误。 而是直接找逻辑错误,结果改了跟没改一样wa了第二发。 wa了第二发的时候才认真找错误: 发现错误有两点: 定义加了 long long 但输入的时候用的是%d 而不是%lld 题目说的是字典序最大,并且没上限,那只需要原创 2021-04-22 10:35:15 · 66 阅读 · 0 评论 -
ACM 字符串模板
基本函数 构造 string str1; //生成空字符串 string str2("123456789"); //生成"1234456789"的复制品 string str3("12345", 0, 3);//结果为"123" string str4("012345", 5); //结果为"01234" string str5(5, '1'); //结果为"11111" string str6(str2, 2); //结果为"3456789" .原创 2020-12-23 14:20:39 · 148 阅读 · 0 评论 -
ACM STL模板
vector vector, 变长数组,倍增的思想 size() 返回元素个数 empty() 返回是否为空 clear() 清空 erase() 删除 front()/back() 头元素/尾元素 push_back()/pop_back() 尾加入/尾弹出 begin()/end() 头指针/位置在 [] 支持比较运算,按字典序 遍历 下标遍历 for (size_t i =0; i < vec.size(); i原创 2020-12-23 12:30:57 · 113 阅读 · 0 评论 -
ACM 数论模板
快速幂 /*******快速幂********/ typedef long long LL; // 视数据大小的情况而定 LL powerMod(LL x, LL n, LL m)//求解 x的n次方 并求模于m { if(n==0) return 1; LL res = 1; while (n > 0){ if (n & 1) // 判断是否为奇数,若是则true res = (res * x) % m;原创 2020-12-22 16:13:42 · 141 阅读 · 0 评论 -
比赛时注意事项
JAVA 非基本数据类型 都需要new!! 尤其是数组!! 提交题目时类名一定要是 Main,否则判题系统是不认识代码的。 用Java时只需要粘贴包里面的内容,包名是不需要的。//有包名的去掉包名 java中字符串String是不可以修改的,要修改只能转换为字符数组. 复杂度 输入输出 输出是否需要换行. 输出最后是否能保留空格. long long 输入 和 输出都一定 要 %lld !!! 读入用scanf 读入字符时,要用 getchar() 吞掉 回车 scanf(),printf()和cin原创 2020-12-20 14:10:11 · 123 阅读 · 0 评论 -
比赛时的数据处理
文件处理 freopen("data.in", "r", stdin); freopen("data.out", "w",stdout); 记得fclose(stdin); fclose(stdout); 字符串处理 对于字符串,string确实很好用,但是只能用cin输入 必要的时候,变通的方法是 定义一个比较大的char数组,scanf到这个数组,然后再赋给string char a[1024]; string b; scanf("%s", a); b = string(a); 输出的时候就: pri原创 2020-12-20 14:09:41 · 81 阅读 · 0 评论 -
比赛报错检查·
RE 运行时错误 原因 除以零 数组越界 指针越界 使用已经释放的空间(栈) 数组开得太大,超出了栈的范围,造成栈溢出 数组访问越界 除以0 大数组没有开到全局变量里 vector不清空也会RE,数组小了会RE,vis[负数]也会RE。int型变量超过int的范围会RE。 TLE TLE 有可能是 RE 的问题 算法复杂度 特殊数据进入死循环 WA 答案错误 逻辑问题 格式错误,如行尾的空格、最后一个回车 特殊数据错误,如 0 1 特殊数据等 MLE 结构体开的大的时候,不要在里面写函数原创 2020-12-20 14:07:13 · 94 阅读 · 0 评论 -
ACM比赛时 注意事项
JAVA 非基本数据类型 都需要new!! 尤其是数组!! 输入输出 输出是否需要换行. 输出最后是否能保留空格. long long 输入 和 输出都一定 要 %lld !!! 取数据 自己写的测试数据,需要包括 特殊值 0 1 最大 最小 条件划分后的每一个区域 条件的边缘 两侧,如 条件(当a >= 8时) 需要测试 7 和 9 逻辑 对比每一个continue break return 查看是否混用 有除数时,一定要注意被除数乘1.0 ! 图论 建边时看有没有重边 报错原创 2020-12-20 13:08:18 · 263 阅读 · 0 评论 -
ACM 数论、博弈、找规律 知识点 + 题集 + JAVA高精度
ACM常见数学规律 ACM JAVA高精度 ACM/ICPC Java高精度计算 【acm模板整理】java高精度 数论 题集 ACM 数论入门题(附代码解释) 递推 递推专题 矩阵与递推 矩阵与递推 根据递推公式构造系数矩阵用于快速幂 博弈论 题集 远古博弈题集 知识点总结 ACM基础博弈论知识总结 ...原创 2020-12-17 10:18:59 · 174 阅读 · 0 评论 -
POJ 1073 题解
思路: 模拟,把实现功能分块写。 一是比较结果、二是得到删除\n\t等字符后的字符串 比较两个结果 通过 直接比较 删除\n \t等字符后比较 #include<iostream> using namespace std; int n; void delete_all(string &a){ //删除所有的格式 string b = ""; for(int i = 0;i < a.length();i++){ if(a[i]!=' '&&a[i]!=原创 2020-11-30 22:33:58 · 222 阅读 · 0 评论 -
第一周训练题目
前言 看自己的情况做,如果基础不扎实就一步步做。 模拟暴力 HDU-1073 POJ-1029 UVA-725 HDU-5938 补充题:POJ上的练习 poj-3007 poj-3096 简单数据结构 前缀和 poj-1050 优先队列 poj-1581 字符串 POJ1035 POJ1936 贪心和排序 洛谷1181 洛谷1090 补充题: POJ-2586 动态规划 POJ-1018 POJ-2533 POJ-1260 POJ-3267 ...原创 2020-11-28 16:06:43 · 157 阅读 · 0 评论 -
ACM之路所需的所有资料集合
ACM 题集 和 知识点 题库 POJ ZOJ HDU HDU、ZOJ、POJ刷题(难易)顺序 POJ 分类 叉姐的POJ分类指南 HDU分类 ZOJ分类 ZOJ题目分类+思路 牛客上的ICPC原题题单 算法比赛相关网站和OJ 训练指南 大牛的大学三年acm训练之路 ACM训练史上最详细计划 算法总结 两年ACM竞赛的所有算法总结 ACM 所用数据范围 常见知识点总结 模板 ACM 算法竞赛入门级模板 ------ (比赛技巧工具) 带有库函数讲解的模板 知识点分类讲解 ACM-图论完全总结(知识点+模板)原创 2020-11-28 15:03:23 · 787 阅读 · 1 评论 -
高精度的加法乘法除法
高精度加法 思路: 模拟按位相加法 从最低位开始,每一个位对应的两个数相加。 如果当前位大于等于10。 则当前位保留对10取模的数,进位除以10的数。 注意的点: 最高一位是否进位,如果不进位,需要删除前导0. 伪代码 读入字符数组a,b 整型数组 a1,b1,c1初始化 设置 la,lb,lc分别为 a1,b1,c1的长度。 其中lc初始值为1,表示至少有一位。 设置x为进位数,初始化为0。 循环(当lc小于等于la或lb): c1[lc] = a1[lc] + b1[lc] + x; c1[lc] %=原创 2020-11-01 23:18:46 · 144 阅读 · 0 评论 -
2020-10-24 算法训练营buu 贪心策略练习(排序练习)
贪心策略(假) 排序(真) 基本上三题都是因为排序被卡了一会 p1230 智力大冲浪 p1230 智力大冲浪 题目描述 原有m奖金 但第i事件没完成就会扣除wi的奖金 在n个时间内每个事件都有一个期限ti,在ti时间后该事件就不能完成。 求一个完成事件的顺序来保证扣的钱最少。 思路: 先让事件以w从大到小排序(贪心第一下),后从w最大的事件开始,把该事件放在他的截止事件上(贪心第二下)。 被卡住的点 快排中mid的值不能改变的。 这是错的 void qsort(int l,int r){ int mid原创 2020-10-24 16:45:07 · 144 阅读 · 0 评论