- 博客(15)
- 收藏
- 关注
原创 CSP2019游记
人生中第一次参加这么重要的考试呢。DAY 0:早上一直非常颓,状态不佳,没有认真复习,就是在听教练说着注意事项。中午吃完饭之后就上车去杭州的酒店。安顿好差不多到了下午。。5点左右去吃饭,那个牛肉是真的坑晚上一直在复习,像是线段树,Tarjan之类东西的板子,到10点就睡觉了DAY 1:早上6点的时候就醒了,RP−−RP--RP−−到了学军,感叹一句:浙江的大佬真的多还没有...
2019-11-17 16:18:06
216
原创 CSP数论模板
快速幂与乘法运算inline ll add(ll a, ll b) { return (a += b) >= mod ? a - mod : a; }inline ll sub(ll a, ll b) { return (a -= b) < 0 ? a + mod : a; }inline ll mul(ll a, ll b) { return a * b % mod; }...
2019-11-12 19:31:43
158
原创 卡常专用模板
半年OI一场空,没模mod见祖宗OI的世界需要模板OI的世界更需要卡常卡掉了那一点常数你没准就能完美AC#include<bits/stdc++.h>//char B[1 << 20], *S = B, *T = B;//#define getchar() (S == T && (T = (S = B) + fread(B, 1, 1 <...
2019-11-12 19:25:27
143
原创 读入与输出优化
快要CSP复赛了,想要拿高分肯定要有一点卡常的技巧。这里就把我的读入与输出优化贡献给大家#include<bits/stdc++.h>#define ll long longchar B[1 << 20], *S = B, *T = B;#define getchar() (S == T && (T = (S = B) + fread(B, 1...
2019-11-08 07:41:04
126
原创 CSP-S复赛前规划
有人说今年ZJ的分数线是90+这样我还能进复赛吗如果进不了,我复赛准备什么呢早上联考,下午讲评+订正+刷题,晚上正睿。十月份目标刷完算阶(这很重要)熟练各种基础板子最短路:FloydFloydFloyd,Bellman−FordBellman-FordBellman−Ford,DijkstraDijkstraDijkstra, SPFASPFASPFA最小生成树:prim...
2019-10-24 20:27:57
459
原创 ATcoder2069 【すぬけ君の地下鉄旅行 / Snuke's Subway Trip】
这题有很多解法,分享题目时很多大佬站起来发言,大多是用了巧妙的建图方法来做这道题。Task1:将每个站点xxx拆成(x,y)(x,y)(x,y)表示yyy号地铁线上的站点xxx与地铁站通道(x)(x)(x)。先从xxx到每个(x,y)(x,y)(x,y)连一条权值为111的边,用来统计换乘的花费。然后我们可以在点(x,y)(x,y)(x,y)到(z,y)(z,y)(z,y)连一条权值为...
2019-10-11 14:40:23
276
原创 ATcoder2038 【桁和 / Digit Sum】
先考虑一些特殊情况比如n>sn > sn>s与n=sn=sn=s时当n>sn > sn>s时,可以想象这样是无解的当n=sn = sn=s时,b=n+1b = n + 1b=n+1然后呢,先考虑朴素做法:枚举nnn以内所有数,作为bbb。当然1≤n≤10111\leq n \leq 10^{11}1≤n≤1011,朴素做法肯定会TLE。当然看这个范围...
2019-10-09 16:38:40
142
原创 快速乘and快速幂
快速幂:用O(nlogn)的复杂度计算出ana ^ nan将指数写成二进制的形式,然后在拆开例如:在计算5115^{11}511时可以写成58∗52∗51{5}^{8}*{5}^{2}*{5}^{1}58∗52∗51代码:inline int quickpow(int a, int b, int mod) { int re = 1; while(b) { if(b & ...
2019-09-22 14:24:43
225
2
原创 20190908 模拟赛题解
当然,我承认这是我打的最差的模拟赛了。T1 四个质数和:【题意】:给定了一个正整数 N。有多少种方法将 N 分解成为四个质数 a,b,c,da,b,c,da,b,c,d的和。例如:9=2+2+2+3=2+2+3+2=2+3+2+2=3+2+2+29 = 2 + 2 + 2 + 3 = 2 + 2 + 3 + 2 = 2 + 3 + 2 + 2 = 3 + 2 + 2 + 29=2+2+2+3...
2019-09-08 21:51:44
513
1
原创 数论基础讲练
数论从来都是noip的重点内容,我将其做一个小小的总结。一下一些内容比较基础,请某些大佬勿喷。第一点呢我先不讲数论,当然是墙裂推荐An introduction to theory of numbers,而且一定要买原版的。虽然有点贵,极其实用!!快速幂和快速乘当然这个是很多数论实现的基础,在分治算法的时候也应该着重讨论过这种实用算法快速幂:用O(nlogn)的复杂度计算出ana ^...
2019-09-04 20:01:55
229
原创 题解 luogu P3469 【[POI2008]BLO-Blockade】
既然刚学了割边割点,我就来写一波题解。。根据割点的定义,若节点iii不是割点,就把节点i关联的所有边都去掉后,只有与其他n−1n - 1n−1个节点之间是联通的。但是因为题目中(x,y)(x,y)(x,y)与(y,x)(y,x)(y,x)算不同的点对,所以答案为2∗(n−1)2*(n - 1)2∗(n−1)。若节点iii是割点,则把节点iii关联的边去掉后,图会分成若干个连通块。我们需要...
2019-08-28 14:48:23
125
原创 题解luogu P2085 【最小函数值】
虽说这是一道洛谷的绿题,但它是有bug的。只需要用一个小根堆维护所有函数的大部分小的取值,最后输出前面的部分就可以了。。。经过实测,跑一百遍肯定能过。。#include<bits/stdc++.h>using namespace std;int m, n;priority_queue<int, vector<int>, greater<int&g...
2019-08-22 20:01:25
373
原创 题解luogu P2485 【[SDOI2011]计算器】
这道题算是比较综合的一道数论的题目。输入1时可以直接用快速幂解决 (别告诉我你连快速幂都不会)下面就是代码:ll quickmul(ll a, ll b, ll mod) {//快速乘 ll re = 0; while(b) { if(b & 1) re += a; re %= mod; b >>= 1; a += a; a %= mod;...
2019-08-11 20:53:07
211
原创 海亮信奥B班暑假集训总结
Day0:这是集训前一天,在海亮的同学一起进行了一场欢乐赛。。。其实就是被虐爆了 。下午又看了看题,发现弱智题错了。。。晚上讲了四边形不等式优化,事实就是一脸懵逼,最后还是我研究了巨久的算阶,才搞懂了一点。。Day1:上午在阶梯教室讲了模拟,其实在我看来模拟没什么好讲的,只要理解题意打出来就好了。类似像麻将游戏这类的。下午考试本来是有点信心的,但是结果出乎意料。A掉了原来有的四道但是...
2019-07-28 21:09:18
643
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人