09 2019 档案
摘要:构造矩阵 发现只能相邻两个车站转移,所以能够写出下面这个矩阵 ${\begin{bmatrix} 0&1&0&0&0&0&0&1 \\ 1&0&1&0&0&0&0&0\\0&1&0&1&0&0&0&0 \\ 0&0&1&0&1&0&0&0 \\0&0&0&1&0&1&0&0 \\0&0&0&0&
阅读全文
摘要:topsort 板(?)题 显然,题目要求从入度为零的点遍历到出度为零的点,想到用拓排 另如果是输入层,那么u[i]为1或0都没有关系,一定会激活 同时处理出度便于输出 code 1 #include <bits/stdc++.h> 2 using namespace std; 3 namespac
阅读全文
摘要:前言 这个人太菜了都要CSP了才学拓扑排序 0x10 定义 给定一张有向无环图,若一个由图中所有点构成的序列A满足边(x,y),x在A中都出现在y之前,则称A是该有向无环图顶点的一个拓扑序。求解A的过程就叫做拓扑排序。 ——蓝书·lyd 0x20 思想+过程 选择入度为0的点,然后把他连向的点入读减
阅读全文
摘要:真·NOIp day1 T2 众所周知noip按难度顺序出题 感谢洛谷题解@greenlcat 提供思路及写法 写+调+写题解 共计一整个晚上2.5个小时对我今天晚自习啥都没干 分步解决这个题 Step 1 :倍增LCA 本身这题码量就不小,还写树剖LCA,我这个菜鸡调不出来的 倍增求LCA好像没什
阅读全文
摘要:f[x][0] 表示最近控制驿站的距离 f[x][1]表示最远不能控制的驿站距离 当f[x][0]+f[x][1]≤k是说明能被控制,但没有贡献 当f[x][1]=k时,x必须被控制,这时已经到达能控制点的最远距离,如果再向上,x就无法被控制 正确性:如果x可以向上移动,并且仍然能控制x移动前能控制
阅读全文
摘要:NOIp 2015 day 1 T1 神奇的幻方 标签:模拟 code 1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 int a[40][40]; 5 int main(){ 6 int n,x[1600],y[16
阅读全文
摘要:每个点的状态只和他的父亲和儿子有关 转移方程: $f[i][0]$ i放 $f[i][1]$ i不放,儿子放 $f[i][2]$ i不放,父亲放 j是i的一个儿子 i放,可以覆盖自己、父亲和儿子。i放的情况下,j可以放或不放 $f[i][0]+=min(f[j][0],f[j][1],f[j][2]
阅读全文
摘要:状压dp 思路来自@real_l 由于抛物线$y=a*{x^2}+b*y$只有两个参数,初中数学老师告诉我们代入两个点的坐标就能求得解析式 $${a*{{x_1}^2}+b*{y_1}=y}$$ $${a*{{x_2}^2}+b*{y_2}=y}$$ 可以得到 $${a=(x_2*y_1-x_1*y
阅读全文
摘要:NOIp 2014 day 1 T1 生活大爆炸版石头剪刀布 标签:模拟 code(巨丑 1 #include <iostream> 2 #include <cstdio> 3 using namespace std; 4 int main(){ 5 int n,na,nb,x,y,xa[201],
阅读全文
摘要:NOIp 2013 day 1 T1 转圈游戏 标签:数论 挺显然$ans=(x+m*{10^k})\mod n$ 快速幂处理$10^k$ code 1 // 2 // main.cpp 3 // Luogu 4 // 5 // Created by gengyf on 2019/5/9. 6 //
阅读全文
摘要:NOIp 2012 day 1 T1 Vigenère 密码 标签:模拟 主要是用了ASCII码,字母'A'的ASCII码是41H(0100 0001B),字母'a'的ASCII码是61H(0110 0001B),字母'A'与'a'的二进制后5位是相同的,所以无论是大写字母还是小写字母x,x &31
阅读全文
摘要:NOIp 2011 Day1 T1 铺地毯 标签:模拟 code 1 #include <cstdio> 2 #include <cstdlib> 3 using namespace std; 4 int main() 5 { 6 int n,x,y,a[10001],b[10001],g[1000
阅读全文
摘要:NOIp2010 T1 机器翻译 标签:模拟,STL 两种做法,同一本质 1.依题意模拟 code 1 #include<bits/stdc++.h> 2 using namespace std; 3 int n,m,x,ans,l,r,a[1005],b[1005]; 4 int main() 5
阅读全文
摘要:NOIp2009 T1 潜伏者 标签:STL,字符串 这题怕不是两个$map$水过去...... 开两个$map$分别存加密信息->原信息和原信息->加密信息 用这两个$map$统计是否出现情况3,即该字符在加密信息中已经出现过却和当前位置所对应的原信息不符 或反过来 再扫一遍看看是否有字母未出现过
阅读全文
摘要:悬线法 部分内容参考Santiego的博客,侵删!侵删!侵删! 0x00 关于悬线法 只是因为这题用到了不然我干嘛写它 用于求满足某种状态的矩形,如最大01交替矩形 0x10 简单思想 先预处理出ml[i][j],mr[i][j],mt[i][j] 分别表示当前位置(i,j)能向左扩展到的最左边的编
阅读全文
摘要:NOIp2008 T1 笨小猴 标签:STL 用一个map存字母到数字(出现次数)的映射 由于数据范围很小,可以不用线性筛直接${\sqrt{n}}$即可 code 1 #include <bits/stdc++.h> 2 using namespace std; 3 namespace gengy
阅读全文
摘要:NOIp2007 T1 统计数字 标签:排序 这题没啥可写的......一遍排序统计次数就行了 code 1 #include <bits/stdc++.h> 2 using namespace std; 3 namespace gengyf{ 4 #define ll long long 5 in
阅读全文
摘要:可持久化数据结构是为了保存这个数据结构的所有历史版本 正文 这是一棵非常好看的线段树 考虑一个问题,现在修改6号节点,同时保留原始信息,怎么做 重构一棵线段树,该修改的就修改,其余信息复制 显然不对因为我们在说可持久化而不是重构 遵从不浪费原则,我们要尽可能多的利用不需要修改的节点 根据线段树的知识
阅读全文
摘要:NOIp2006 T1 能量项链 标签:dp 区间dp,转移方程显然f[i][j]=max(f[i][j],f[i][k]+f[k][j]+a[i]*a[k]*a[j]) code 1 #include<bits/stdc++.h> 2 using namespace std; 3 namespac
阅读全文

浙公网安备 33010602011771号