
算法训练营
文章平均质量分 85
ysyyhhh
这个作者很懒,什么都没留下…
展开
-
BUU round2 题解
round 2 题解这次更多考验算法和编码能力。题目难度由易到难A < F < BD E CA 三角形的类型 几何题 难度 1.5有多种方法可以做这道题。需要注意一些点。三点成一条直线的情况两个点重合时,三个点重合的情况。注意精度问题。如果采用求直线斜率,要注意不能除0。#include<iostream>#include<cstdio>#include<cmath>using namespace std;const原创 2021-06-27 16:31:09 · 222 阅读 · 0 评论 -
自我总结的ACM从入门到拿牌的几大影响因素
在整理社团需要的准备材料时随手写的,想理理训练的思路。没想到越写越多,又可以水一篇文章了。目录自身能力基础知识的储备/ 技能树的建立思维能力锻炼思维能力的方法和经验编码能力锻炼编码能力的方法和经验手速总结:比赛的经验心态组队兴趣一些奇思妙想自身能力基础知识的储备/ 技能树的建立基础知识其实就是考察的范围,比如银牌所涉及的范围是铜牌的基础上加很多算法的。想拿对应的牌子,就必须把对应的范围都尽可能地涉猎。如果忽略了一部分知识没有去学习,则一旦比赛出现了这方面的题,就无论如何都解决不了。获取知识的.原创 2021-05-23 15:59:38 · 476 阅读 · 3 评论 -
Codeforces Round #717 (Div. 2) A—C 反思总结
比赛链接:https://codeforces.com/contest/1516A题目大意n个元素,最多k次操作,每次操作选择两个元素,其中一个++另一个–,不能出现负数。输出最多k次操作后,字典序最小的元素序列。解题情况一共 wa 了两发。wa了第一发的时候没有检查语法错误。而是直接找逻辑错误,结果改了跟没改一样wa了第二发。wa了第二发的时候才认真找错误:发现错误有两点:定义加了 long long 但输入的时候用的是%d 而不是%lld题目说的是字典序最大,并且没上限,那只需要原创 2021-04-22 10:35:15 · 91 阅读 · 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 · 186 阅读 · 0 评论 -
ACM STL模板
vectorvector, 变长数组,倍增的思想 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 · 139 阅读 · 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 · 182 阅读 · 0 评论 -
比赛时注意事项
JAVA非基本数据类型 都需要new!! 尤其是数组!!提交题目时类名一定要是 Main,否则判题系统是不认识代码的。用Java时只需要粘贴包里面的内容,包名是不需要的。//有包名的去掉包名java中字符串String是不可以修改的,要修改只能转换为字符数组.复杂度输入输出输出是否需要换行.输出最后是否能保留空格.long long 输入 和 输出都一定 要 %lld !!!读入用scanf读入字符时,要用 getchar() 吞掉 回车scanf(),printf()和cin原创 2020-12-20 14:10:11 · 154 阅读 · 0 评论 -
比赛时的数据处理
文件处理freopen("data.in", "r", stdin);freopen("data.out", "w",stdout);记得fclose(stdin); fclose(stdout);字符串处理对于字符串,string确实很好用,但是只能用cin输入必要的时候,变通的方法是定义一个比较大的char数组,scanf到这个数组,然后再赋给stringchar a[1024];string b;scanf("%s", a);b = string(a);输出的时候就:pri原创 2020-12-20 14:09:41 · 118 阅读 · 0 评论 -
比赛报错检查·
RE 运行时错误原因除以零数组越界指针越界使用已经释放的空间(栈)数组开得太大,超出了栈的范围,造成栈溢出数组访问越界除以0大数组没有开到全局变量里vector不清空也会RE,数组小了会RE,vis[负数]也会RE。int型变量超过int的范围会RE。TLETLE 有可能是 RE 的问题算法复杂度特殊数据进入死循环WA 答案错误逻辑问题格式错误,如行尾的空格、最后一个回车特殊数据错误,如 0 1 特殊数据等MLE结构体开的大的时候,不要在里面写函数原创 2020-12-20 14:07:13 · 123 阅读 · 0 评论 -
ACM比赛时 注意事项
JAVA非基本数据类型 都需要new!! 尤其是数组!!输入输出输出是否需要换行.输出最后是否能保留空格.long long 输入 和 输出都一定 要 %lld !!!取数据自己写的测试数据,需要包括特殊值 0 1 最大 最小条件划分后的每一个区域条件的边缘 两侧,如 条件(当a >= 8时) 需要测试 7 和 9逻辑对比每一个continue break return 查看是否混用有除数时,一定要注意被除数乘1.0 !图论建边时看有没有重边报错原创 2020-12-20 13:08:18 · 300 阅读 · 0 评论 -
ACM 数论、博弈、找规律 知识点 + 题集 + JAVA高精度
ACM常见数学规律ACM JAVA高精度ACM/ICPC Java高精度计算【acm模板整理】java高精度数论题集ACM 数论入门题(附代码解释)递推递推专题矩阵与递推矩阵与递推根据递推公式构造系数矩阵用于快速幂博弈论题集远古博弈题集知识点总结ACM基础博弈论知识总结...原创 2020-12-17 10:18:59 · 204 阅读 · 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 · 284 阅读 · 0 评论 -
第一周训练题目
前言看自己的情况做,如果基础不扎实就一步步做。模拟暴力HDU-1073POJ-1029UVA-725HDU-5938补充题:POJ上的练习poj-3007poj-3096简单数据结构前缀和 poj-1050优先队列 poj-1581字符串POJ1035POJ1936贪心和排序洛谷1181洛谷1090补充题:POJ-2586动态规划POJ-1018POJ-2533POJ-1260POJ-3267...原创 2020-11-28 16:06:43 · 195 阅读 · 0 评论 -
ACM之路所需的所有资料集合
ACM 题集 和 知识点题库POJZOJHDUHDU、ZOJ、POJ刷题(难易)顺序POJ 分类叉姐的POJ分类指南HDU分类ZOJ分类ZOJ题目分类+思路牛客上的ICPC原题题单算法比赛相关网站和OJ训练指南大牛的大学三年acm训练之路ACM训练史上最详细计划算法总结两年ACM竞赛的所有算法总结ACM 所用数据范围 常见知识点总结模板ACM 算法竞赛入门级模板 ------ (比赛技巧工具)带有库函数讲解的模板知识点分类讲解ACM-图论完全总结(知识点+模板)原创 2020-11-28 15:03:23 · 913 阅读 · 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 · 176 阅读 · 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 · 165 阅读 · 0 评论