摘要:2020-01-30 最大公约数: 1 int gcd(int a,int b) //最大公约数 2 { 3 return (b>0)?gcd(b,a%b):a; 4 } 最小公倍数: 1 int gcd(int a,int b) //最大公约数 2 { 3 return (b>0)?gcd(b,a 阅读全文
posted @ 2020-01-30 22:42 Drophair 阅读(377) 评论(0) 推荐(0) 编辑
摘要:题目描述 读入一个只包含 +, -, *, / 的非负整数计算表达式,计算该表达式的值。 输入 测试输入包含若干测试用例,每个测试用例占一行,每行不超过200个字符,整数和运算符之间用一个空格分隔。没有非法表达式。当一行中只有0时输入结束,相应的结果不要输出。 输出 对每个测试用例输出1行,即该表达 阅读全文
posted @ 2020-10-22 21:29 Drophair 阅读(118) 评论(0) 推荐(0) 编辑
摘要:Floyd算法是最短路问题的入门算法,后期有和他类似的Dijkstra算法(迪杰斯特拉,简称dij算法),Floyd算法的时间复杂度是O(n3),即三个for循环,适合数据量小的题目,但是这似乎很少用到,大多数情况下仍是使用dij算法,但作为最短路问题的初级算法,他比dij容易理解得多。 核心思路: 阅读全文
posted @ 2020-08-20 10:30 Drophair 阅读(160) 评论(0) 推荐(0) 编辑
摘要:DFS模板 void dfs(int depth)//depth表示当前的层数(或深度) { if(depth>n)//到达叶子节点,该路已走到尽头 return; for(int i=1;i<=n;i++)//n表示最大的值,即最大深度为n { if(b[i]==0)//b数组表示探索的状态,1表 阅读全文
posted @ 2020-08-20 09:12 Drophair 阅读(222) 评论(0) 推荐(0) 编辑
摘要:A 同源 规律:n=n/k; 如果n%k≠0,则一定输出-1 -1 -1,去掉这个判断,通过率只有37.5% 举个例子,n=25,k=2;程序实际输出的是4 6 14,这三个数加起来等于24,不等于25,这是一个wa点 只要输出一组数据即可 #include<bits/stdc++.h> using 阅读全文
posted @ 2020-08-07 10:05 Drophair 阅读(164) 评论(0) 推荐(0) 编辑
摘要:I Interesting Computer Game 并查集+树状数组离散化 要点一、由于题目中给出的对于a数组的数据范围在1~1e9,直接利用数组是不现实的,所以我们用数组a下标开数组,这个范围是1~1e5,开数组是能够接受的。 要点二、之前读取的数据存在重复,则需要对其进行去重操作。 要点三、 阅读全文
posted @ 2020-08-06 21:03 Drophair 阅读(116) 评论(0) 推荐(0) 编辑
摘要:感谢cyanigence-oi大佬(Orz)的题单 模板 并查集 模板题 预处理过程:void pre(),赋值数组a 假设自己就是祖先,则用for循环,来储存每个父亲节点的值 void pre() { for(int i=1;i<=n;i++) a[i]=i; } 查询过程:int find(in 阅读全文
posted @ 2020-08-02 16:35 Drophair 阅读(107) 评论(0) 推荐(0) 编辑
摘要:翻滚吧牛牛(一) 牛牛有一个边长为1的正六边形,只要牛牛一推它就可以一直滚下去,正六边形左下角为A,牛牛想知道正六边形翻滚k次A点的轨迹边长是多少呢。如图是正六边形翻滚一次的情况。给定正六边形翻滚次数k,求A点翻滚轨迹长度 第一次旋转 πr/3,第二次旋转 √3πr/3,第三次旋转 2πr/3... 阅读全文
posted @ 2020-08-02 10:49 Drophair 阅读(175) 评论(0) 推荐(0) 编辑
摘要:Blow up the Enemy #include <bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<b;i++) #define T ll t ;scanf("%lld",&t);while(t--) using namespace std ; t 阅读全文
posted @ 2020-08-01 20:51 Drophair 阅读(156) 评论(0) 推荐(0) 编辑
摘要:难度系数:D<B<。。。 D Fake News 讲题人所谓的“暖暖的签到题” 完全平方和,只要特判1和21即可即可 #include<bits/stdc++.h> using namespace std; typedef long long ll; #define T ll t ;scanf("% 阅读全文
posted @ 2020-08-01 14:58 Drophair 阅读(377) 评论(0) 推荐(0) 编辑
摘要:B Binary Vector 费马小定理(快速幂+逆元) #include <bits/stdc++.h> #define rep(i,a,b) for(int i=a;i<b;i++) #define T int t ;cin >> t;while(t--) using namespace st 阅读全文
posted @ 2020-07-27 19:57 Drophair 阅读(287) 评论(0) 推荐(0) 编辑