C++
Edward-Tsui
ACMER
展开
-
中国剩余定理
描述 用于解决 xmod a1=c1,xmod a2=c2...x\mod a_1 = c_1, x \mod a_2 = c_2 ...xmoda1=c1,xmoda2=c2... 求xxx的问题。证明从假设可知,对任何i∈{1,2,⋯ ,n}i \in \{1, 2, \cdots , n\}i∈{1,2,⋯,n},由于$\forall j \in {1, 2, \cdot...原创 2019-11-04 22:12:29 · 151 阅读 · 0 评论 -
分块算法<2>
Loj-分块2题意 给出一个长为n的数列,以及n个操作,操作涉及区间加法,询问区间内小于某个值x的元素个数。思路 和分块1相同,维护lazy标记,对不完整的块O(n)求,完整的块直接二分(stl:lower_bound)代码#include <bits/stdc++.h>typedef long long ll;ll nextInt(){ ll x =...原创 2019-10-30 12:12:25 · 279 阅读 · 0 评论 -
数论初步模板
Gcd#include <bits/stdc++.h>typedef long long ll;ll gcd(ll n, ll m){ if (!m) return n; return gcd(m, n % m);}int main(int argc, char **argv){ std::ios_base::sync_with_stdio(false);...原创 2019-10-26 22:21:24 · 108 阅读 · 0 评论 -
【NOIP考前题目回顾】Luogu P1000
思路没啥可说的,复制的题解。代码#include<stdio.h>int main() { printf( " ********\n" " ************\n" " ####....#.\n" " #..###.....##....\n"原创 2017-10-29 19:48:07 · 188 阅读 · 0 评论 -
【NOIP考前题目回顾】Luogu P1001
思路最大流。建一个超级源点和超级汇点,然后从源点连出两条边,流量分别为a和b,最后将这两个定点分别向汇点连一条流量为无穷大的边,求得的最大流即为答案。代码#include <cctype>#include <climits>#include <cstdio>#include <cstring>#include <iostream>#include <queue>#define BLA(X)原创 2017-10-29 19:54:35 · 235 阅读 · 0 评论 -
【NOIP考前题目回顾】Luogu P1003
思路既然给出了每个地毯的坐标和长度,在地毯数目不是特别多的情况下,我们可以用一个结构体来存储所有地毯的信息。那么计算的时候从0开始枚举,如果这个地方有一张地毯在上面,就让答案等于它就好了。注意因为要求的是最后一张地毯是哪个,所以我们判断的范围应该一步一步缩小,保证求出来的是最终答案。代码#include <algorithm>#include <cctype>#include <climits原创 2017-10-29 20:01:47 · 208 阅读 · 0 评论 -
【NOIP考前题目回顾】Luogu P1005
思路这道题出题的初衷之一是考高精度,但是如果使用C++的__int128_t类型的话就可以不用高精度了。这道题显然是DP。先预处理出了一个数组PiP_i来存放2i2^i,至于不用1<<i1 << i的原因是这些数太大了。然后我们考虑对于每一行,我们在处理一行的时候,最佳策略同上面某行下面某行没有任何关系,所以一行一行处理。那么方程就很简单了。令fi,jf_{i, j}表示在每一行中区间[i,j][i原创 2017-10-29 20:15:26 · 314 阅读 · 0 评论 -
【NOIP考前题目回顾】Luogu P1006
思路求一个最大值,一般就是DP了。初见这个题目像是费用流,而且建边显而易见,但是太麻烦,就没写……这个题的DP方案也不难,既然是来回,那么我们可以把一个人拆成两个人啊,这样对于“第一个人”枚举ii行,fi,jf_{i, j}表示到第jj个格子时的最佳方案,对于“第二个人”枚举kk行fk,lf_{k, l}同理。这样我们就凑出了一个四维DP: fi,j,k,l=max(fi−1,j,k−1,l,fi原创 2017-10-29 20:34:01 · 199 阅读 · 0 评论 -
【NOIP考前题目回顾】Luogu P1005
思路很考思维的一道题,但是模拟一下的话就没什么难度了。首先两个人相遇并立即掉头走,那么将这两个人互换一下的话就会发现他们掉头走并没有什么卵用,人还是那几个人。所以直接放代码。代码#include <algorithm>#include <cctype>#include <climits>#include <cmath>#include <cstdio>#include <cstdlib>原创 2017-10-29 20:42:47 · 194 阅读 · 0 评论 -
【NOIP考前题目回顾】Luogu P1012
思路对ASCII码熟悉的很快就可以想出做法,无非就是字符串拼接然后排序,只要排序规则明了的话排序工作就直接给STL做就好了。(这个题卡了我旁边一哥们一下午)代码#include <algorithm>#include <cctype>#include <climits>#include <cmath>#include <cstdio>#include <cstdlib>#include原创 2017-10-29 20:46:32 · 222 阅读 · 0 评论 -
ACM准备(1)-排序
ACM准备(1)-排序冒泡排序#include <bits/stdc++.h>typedef long long ll;const size_t _Siz = 1003020;ll a[_Siz] = { 0 };ll nextInt() // 读入优化{ ll num = 0; char c; bool flag = false; while ((c =...原创 2019-08-16 12:01:16 · 98 阅读 · 0 评论 -
分块算法<1>
分块思想:本质上是暴力,但是用一种巧妙的办法将要暴力的长度为nnn 的区间划分为 n\sqrt nn块,并在每一个块中进行总体打标记,最后结果就是将各个标记统一运算。1、区间修改单点查询 - 代码#include <algorithm>#include <cctype>#include <climits>#include <cmath>...原创 2019-10-10 17:29:29 · 121 阅读 · 0 评论 -
【BZOJ1071】[SCOI2007]组队
【BZOJ1071】[SCOI2007]组队Time Limit: 3 Sec Memory Limit: 128 MB Submit: 2216 Solved: 692Description NBA每年都有球员选秀环节。通常用速度和身高两项数据来衡量一个篮球运动员的基本素质。假如一支球队里 速度最慢的球员速度为minV,身高最矮的球员高度为minH,那么这支球队的所有队员都应该满足: A原创 2017-06-14 08:28:56 · 278 阅读 · 0 评论 -
【BZOJ2463】 [中山市选2009]谁能赢呢?
【BZOJ2463】 [中山市选2009]谁能赢呢?Time Limit: 1 Sec Memory Limit: 162 MBDescription 监狱有连续编号为1…N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种。如果 相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱Input 输入两个整数M,N.1<=M<=10^8,1<=N<=10^1原创 2017-06-20 15:48:03 · 234 阅读 · 0 评论 -
【BZOJ1085】[SCOI2005]骑士精神
点我传送到题面1085: [SCOI2005]骑士精神Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 2175 Solved: 1245[Submit][Status][Discuss]Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑原创 2017-04-01 08:07:30 · 285 阅读 · 0 评论 -
从零开始刷HDOJ(1)【HDOJ1000 - a+b problem】
从零开始刷HDOJ(1)【HDOJ1000 - a+b problem】题面A + B ProblemTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionCalculate A + B.InputEach line will contain two原创 2017-05-19 16:32:02 · 1505 阅读 · 0 评论 -
【BZOJ2463】 [中山市选2009]谁能赢呢?
【BZOJ2463】 [中山市选2009]谁能赢呢?Description小明和小红经常玩一个博弈游戏。给定一个n×n的棋盘,一个石头被放在棋盘的左上角。他们轮流移动石头。每一回合,选手只能把石头向上,下,左,右四个方向移动一格,并且要求移动到的格子之前不能被访问过。谁不能移动石头了就算输。假如小明先移动石头,而且两个选手都以最优策略走步,问最后谁能赢?Input 输入文件有多组数据。原创 2017-05-09 20:13:08 · 341 阅读 · 0 评论 -
汉诺塔问题探讨
汉诺塔问题探讨原题目 有三根柱子,每根柱子上一开始都是空的。我们把这三个柱子编号为1, 2, 3,现在,第一根柱子上有NN个盘子按照尺寸从小到大排列,我们的目的是把这些盘子按顺序从第一根柱子转移到第三根上。在移动过程中有要求,即每个柱子上要想往上叠加盘子,只能叠加比它尺寸小的盘子。那么我们该怎么挪?Link 提交评测区(codevs)思路 我们先想这样一个思路,就是我们先定义一个函数ka原创 2017-05-05 16:21:21 · 542 阅读 · 0 评论 -
从零开始刷HDOJ(2)【HDOJ1001 - Sum Problem】
从零开始刷HDOJ(2)【HDOJ1001 - Sum Problem】题面Sum ProblemTime Limit: 1000/500 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Problem DescriptionHey, welcome to HDOJ(Hangzhou Dianzi University Onl原创 2017-05-19 16:45:22 · 371 阅读 · 0 评论 -
从零开始刷HDOJ(3)【HDOJ2899 - Strange fuction 】
从零开始刷HDOJ(3)【HDOJ2899 - Strange fuction 】题面Strange fuctionTime limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 7321 Accepted Submission(s): 5057Pro原创 2017-05-21 20:54:57 · 287 阅读 · 0 评论 -
【BZOJ1001】[BeiJing2006]狼抓兔子
【BZOJ1001】[BeiJing2006]狼抓兔子原创 2017-03-18 10:45:33 · 292 阅读 · 0 评论