
ACM_常用技巧
我爱吃狮子头
有人在这虚度,有人在这成长
展开
-
弹性碰撞 Poj1852 、2674
http://poj.org/problem?id=1852Poj1852 AntsTime Limit: 1000MS Memory Limit: 30000K Total Submissions: 24325 Accepted: 9729 DescriptionAn army of ants walk on a horizontal pole...原创 2018-08-10 00:55:10 · 274 阅读 · 0 评论 -
小技巧(商上取整、字母转数字、统计字符串每个字母数量)
1.商上取整int m,n,ans;ans=(m+n-1)/n;例如:被除数26,除数5,商上取整得6,即(26+5-1)/5=6。被除数30,除数5,商上取整得6,即(30+5-1)/5=6(int是下取整)。2.字母转数字char a[100000+10];cin>>a;for(int i=0;i<strlen(a);i++){ a[i]...原创 2019-02-08 21:25:43 · 551 阅读 · 0 评论 -
求绝对值_abs、fabs、fabsf
求绝对值int abs(int i); double fabs(double i); float fabsf(float i);原创 2018-08-19 14:32:38 · 1034 阅读 · 0 评论 -
判断奇偶
#include<cstdio>#include<algorithm>#include<cstring>using namespace std;const int N=1e6+11;char s[N];int main(){ gets(s); int n=strlen(s); if(s[n-1]&1)//奇数 ...原创 2018-08-29 22:38:01 · 567 阅读 · 0 评论 -
高精度求幂取模(附C++、python3代码)
求x的n次方对mod(1e9+7)取模,当n巨大()时,连快速幂取模也不行。此时用下面的方法:C++:#include <bits/stdc++.h>using namespace std;const int mod=1e9+7;int main(){ char n[100001]; int x; cin>>x>>n;/...原创 2019-02-08 16:35:33 · 1673 阅读 · 0 评论 -
尺取 Poj3601
http://poj.org/problem?id=3061SubsequenceTime Limit: 1000MS Memory Limit: 65536K Total Submissions: 20744 Accepted: 8849 DescriptionA sequence of N positive integers (10 <...原创 2018-08-09 00:51:03 · 282 阅读 · 0 评论 -
大数运算模板
转自:https://blog.youkuaiyun.com/y990041769/article/details/20116995#1.大数相加string sum(string s1,string s2){ if(s1.length()<s2.length()) { string temp=s1; s1=s2; s2=temp; } int i,j; for(i...转载 2018-08-08 11:26:23 · 159 阅读 · 0 评论 -
坐标离散化
离散化把无限空间中有限的个体映射到有限的空间中去,以此提高算法的时空效率。通俗的说,离散化是在不改变数据相对大小的条件下,对数据进行相应的缩小。例如:原数据:1,999,100000,15;处理后:1,3,4,2;原数据:{100,200},{20,50000},{1,400};处理后:{3,4},{2,6},{1,5};思路:先排序,再删除重复元素,最后就是索引元素离散化...原创 2018-08-12 11:09:49 · 607 阅读 · 0 评论 -
莫队算法 CF617E、洛谷P1972、小z的袜子
莫队算法该算法为ACM国家队前队长@莫涛发明,先膜拜巨犇。%%%%%%Orz莫队算法主要是用于离线解决 通常不带修改只有查询,没有修改的一类区间问题。假如知道了区间[l,r]中选择两个是相同颜色的情況数,那么可以在O(1)的时间内得出[l+1,r]或者[l-1,r]。每一个查询区间相当于曼哈顿坐标,所以可以用莫队算法得出曼哈顿最小生成树然后处理区间即可。但是还有更简单的做法,把x分成s...原创 2018-08-11 13:38:55 · 273 阅读 · 0 评论 -
反转(开关问题) Poj3276、3279、3185、1244
转自:https://blog.youkuaiyun.com/yexiaohhjk/article/details/60598188 (部分修改)算法概览:例.给定一个01串,现有翻转规则:翻转某一个位置时其后面2个位置也会跟着翻转,也就是每次翻转都会翻转3个连续的位置。要将01串全部翻转为0,求最小的翻转次数。形似这类题的问题叫做翻转问题,也可以叫开关问题。解法:1.若某一个位置被翻转了n次...转载 2018-08-10 15:26:48 · 589 阅读 · 0 评论 -
operator 赋值运算符重载函数
(其中一个功能)简单来说就是重载运算符,如= < > +等用法:函数类型operator 需要重载的符号(符号左边的参数,符号右边的参数){重新定义的法则;}例1、mycomplex operator+(mycomplex &p1,mycomplex &p2) { mycomplex p; p.x=p1.x+p2.x; p...原创 2019-02-27 22:06:01 · 2736 阅读 · 0 评论