1、问题里有取模操作的时候,最后输出(ans+mod)%mod

2、涉及到输出实数0的时候要特判输出的会不是是-0.000000(因为0.00乘一个负的浮点数结果是-0.000000,乘一个正的浮点数结果是0.000000)

3、遇见问题中有|x-c|,min(x,c-x),max(x,c-x)的时候,考虑分类讨论其贡献,一般一个位置都答案的贡献只会分成两段,这个分界线可能是常数,也有可能是一个式子。如果是式子的时候,要尤其注意:比如k<=f(x)时,贡献是a,k>f(x)时,贡献是b,那么f(x)在变动的时候,要考虑f(x)<0,f(x)>n的情况,这时候一般都是和下界取max,和上界取min,要让k有意义。

4、概率dp的时候,有概率和期望两种,尽可能使用概率去做,用期望做的话,加的权值有可能会出错,期望dp加一个权值时候,不能直接加,要乘上这个权值的发生概率

  即f[u]表示概率,g[u]表示期望

  那么f[u]=Σf[v]

  但g[u]=Σg[v] + value[u] * f[u]   (注意千万不能写成g[u]=Σg[v] + value[u] )

  其实如果要求期望,可以dp它的概率,最后求期望

  即E=Σf(i)*value[i] = Σg(i)

5、比如求dp[i]=min(dp[j]*a[j]*b[j]),最后结果对mod取模,不能写成dp[i]=min(dp[j]*a[j]%mod*b[j]%mod),因为中间有个取min操作,取min操作是不支持的取模的

6、Trie树边对应的信息放在下面的点上;Trie树也可以存数字,也是个有序的数据结构,要注意多个数字重复的情况,可能走到叶子节点的路程上对ans没有贡献,要最后判断叠加;Trie树可以支持整体异或,具体的就是询问的时候如果遇到某位是1,那么就swap(lchild,rchild)就行了

7、要注意无意义的清零和无意义的反复求字符串长度,这样可能会带来超时

8、分解质因数最后留下的可能不是1,是个大素数

9、区间筛的时候要注意r-l<=1e6,那么其实中间有1e6+1个数

10、将double类型的数字以int输出时:printf("%d",(int)(number+0.5));

11、遇见多组数据一定要记得检查有没有清空干净(如Trie树自动机什么),有时候甚至会导致MLE!!!

12、数组开小可能会导致TLE

13、cdq分治排序的之后注意坐标一样时,要比较操作类型,一般的修改操作在查询操作前面

14、遇见分组计数的问题记得考虑meet in middle

15、多次FFT、NTT的时候要记得将A[n..len]清0

16、二分分数区间$[\frac {a} {b},\frac {c} {d}]$的时候,$mid=\frac {a+c} {b+d}$

17、当遇到要计算$\frac {p_1+p_2+p_3+...+p_n} {q}$的值的时候,保证结果不超过$2^63$,分母q不超过$2^30$,这样计算就有个问题,就是分子相加的时候会爆long long,有个技巧就是$ans=\lfloor \frac{ans}{q}\rfloor  *q+ans \, mod \, q$所以可以记录整除数和余数,这样就不会超过longlong了

18、若干个0和若干个1(1存在)能异或出的2^n个结果中,一定有一半是1,一半是0

19、计算几何一直WA也许不是精度的问题,而是因为小数据边界没有特判

20、==、!=的优先级要高于位运算(包括^),所以位运算要打括号

21、莫队算法的时候记得先移r再移l,否则可能会有的数字出现次数为负数带来数组越界

22、分层图最短路在外面把图先建好,后面直接跑最短路

23、树链剖分处理边权的时候尤其要注意,向上爬到最后,lca的点权不能要

24、处理可撤销并查集时候所用的按秩合并并查集在find的时候不能维护其它信息,其它信息必须另开一个函数get_val()用log(n)的时间求出来

25、当数据量很大的时候注意减少容器和递归的使用

26、当结果对1e9+7取模的时候,一般可以直接用int去做,但是如果数据范围是[-1e9,1e9]那就要小心了,可能会爆掉

27、一个都是整数的数列经过ufwt形成的变化中的数不一定都是整数(因为有/2操作),可以认为并没有一个整数数列对应的fwt的结果是这个数列,要注意。但是如果是fwt(a),fwt(b),a=a*b,ufwt(a),那样是没问题,因为一定有解。

28、数组开大大容易超时,能滚动数组就滚动数组,比如决策单调性优化dp

29、在区间赋值的线段树里,注意tag=0的意思是给区间全部赋为0,而不是没有标记

30、取整数部分用floor,而不要用(int)

trick点的更多相关文章

  1. EEG preprocessing - A Trick Before Doing ICA

    EEGLab maillist My ICs don't have high power in low frequency is b/c I do a small trick here. before ...

  2. Trick蠕虫病毒来袭!幕后主使竟是一名高中生“黑客”!

    黑客一直是美国电影中的重要元素,很多经典大片中都有黑客的身影,如战争游戏.黑客帝国等.电影中黑客总是神通广大.行侠仗义,<战争游戏>中的年轻黑客大卫•莱特曼利用黑客技术避免引爆核武器,&l ...

  3. csuoj 1392: Number Trick

    http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1392 1392: Number Trick Time Limit: 1 Sec  Memory L ...

  4. 关于C语言的一些trick

    很多东西已经记不起来了,想到一点写一点,碰到一点写一点,慢慢累积. 关于# #在宏定义中用于替换传入变量的字符,例如: #define whole_operation(n)  do { printf( ...

  5. 让gcc支持成员函数模板的trick

    让gcc支持成员函数模板的trick 罗朝辉 (http://www.cnblogs.com/kesalin/) 本文遵循“署名-非商业用途-保持一致”创作公用协议   gcc 4.7.3 不支持成员 ...

  6. [HIHO1062] 最近公共祖先·一(lca, 并查集, 二分, 神trick)

    题目链接:http://hihocoder.com/problemset/problem/1062 题意裸,有个trick,导致我当年做的时候一直在WA... 那就是出现这种没有出现在关系中,但是依然 ...

  7. hdu 1057 (simulation, use sentinel to avoid boudary testing, use swap trick to avoid extra copy.) 分类: hdoj 2015-06-19 11:58 25人阅读 评论(0) 收藏

    use sentinel to avoid boudary testing, use swap trick to avoid extra copy. original version #include ...

  8. Hashing Trick

    本博客已经迁往http://www.kemaswill.com/, 博客园这边也会继续更新, 欢迎关注~ 在机器学习领域, kernel trick是一种非常有效的比较两个样本(对象)的方法. 给定两 ...

  9. HDU 4930 Fighting the Landlords --多Trick,较复杂模拟

    题意:两个人A和B在打牌,只有题目给出的几种牌能出若A第一次出牌B压不住或者A一次就把牌出完了,那么A赢,输出Yes,否则若A牌没出完而且被B压住了,那么A输,输出No. 解法:知道规则,看清题目,搞 ...

  10. POJ 3207 Ikki's Story IV - Panda's Trick

    Ikki's Story IV - Panda's Trick Time Limit: 1000MS   Memory Limit: 131072K Total Submissions: 7296   ...

随机推荐

  1. shutil,zipfile,tarfile模块

    一,shutil模块 1.shutil.chown() shutil.chown('test.txt',user='mysql',group='mysql') #改变文件的属主和属组. 2.shuti ...

  2. Find a way HDU - 2612(bfs)

    Find a way Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  3. 线段树:CDOJ1597-An easy problem C(区间更新的线段树)

    An easy problem C Time Limit: 4000/2000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Pr ...

  4. 二叉排序树:HDU3791-二叉搜索树(用指针建立二叉排序树)

    二叉搜索树 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Descr ...

  5. Nordic Collegiate Programming Contest 2015​ D. Disastrous Downtime

    You're investigating what happened when one of your computer systems recently broke down. So far you ...

  6. window 7上安装Visual Studio 2017失败的解决方法

    今天在办公电脑上windows 7系统上装Visual Studio 2017企业版的时候遇到了一个让人懵逼的错误. 为啥说懵逼呢,因为昨天楼主在台式机上同样安装2017没有任何问题啊,台式机上是wi ...

  7. VC6.0与Office2007~2010不兼容问题及解决方法

    一.问题描述 启动打开文件对话框中,在 Visual C++ 使用的键盘快捷键或从文件菜单上将导致以下错误: 在 DEVSHL 中的访问冲突 (0xC0000005).在 0x5003eaed 的 D ...

  8. Leetcode31--->Next Permutation(数字的下一个排列)

    题目: 给定一个整数,存放在数组中,求出该整数的下一个排列(字典顺序):要求原地置换,且不能分配额外的内存 举例: 1,2,3 → 1,3,2:  3,2,1 → 1,2,3:  1,1,5 → 1, ...

  9. 大数据学习——scala的wordCount小例子

    val lines=List("hello tom hello jerry","hello tom hello kitty hello china") //方法 ...

  10. 使mysql的表内容可以输入中文内容

    修改数据库的字符集mysql>use mydb mysql>alter database mydb character set utf8;