- 博客(30)
- 收藏
- 关注
原创 dyp
#include<bits/stdc++.h> using namespace std; #define inf 0x3f3f3f3f const int maxn = 1e2; int pre[maxn], qre[maxn]; int dp[maxn][maxn][maxn][maxn]; int n, d, dm; struct node{ int p, q, id; ...
2019-01-19 10:50:08 1161
原创 二分图匹配
二分图匹配 匹配:在图论中,一个「匹配」(matching)是一个边的集合,其中任意两条边都没有公共顶点。 无权图 匈牙利算法 #include<bits/stdc++.h> using namespace std; int const MAX = 10000; vector<int> G[MAX]; int vis[MAX]; int link[MAX];//代表当前状态...
2018-11-10 10:20:59 188
原创 (搜索专题)小猫爬山 迭代深搜
求步骤最少:基本上广搜深搜 迭代深搜 枚举搜索的深度。一般性一开始都定为1(你也可以随便定一个数),每次累加一般累加1。 小猫爬山 题目描述 Freda和rainbow饲养了N只小猫,这天,小猫们要去爬山。经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_<)。 Freda和rainbow只好花钱让它们坐索道下山。索道上的缆车最大承重量为W,而N只小猫的...
2018-10-31 23:25:23 344
原创 (搜索专题)可达性统计 拓扑排序(DAG有向无环图)链式前向星
链式前向星 struct edge{ int next;//第i条边同起点的下一条边的存储位置 int to;//第i条边的终点 int w;//边权值 }; void add(int u, int v, int w){ edge[cnt].w = w; edge[cnt].to = v; edge[cnt].next = head[u]; ...
2018-10-28 11:49:40 698
原创 upc 9313 happy number
原题链接 题意:如果经过题目中的循环能到达一,就是快乐数,否则,不是 题解:太菜了,看到数据范围是1e9;就慌的一批,其实,中规中矩的算,不过循环9次,应该是秒答的题 #include<bits/stdc++.h> using namespace std; int n; int main(){ scanf("%d", &n); int m = n; wh...
2018-10-04 19:36:24 162
原创 概率dp
记录一下遇到的各种题目: 直接求: 买饮料,假设有n个不同球星的名字,每个名字出现的概率相同,平均需要买几瓶饮料才能凑齐所有的名字呢? 分析: 假设现在已经有k个球星的名字,那么要使球星的名字达到k + 1个平均需要买多少饮料: 当有k个人的时候,抽到下一个的概率是n-k/n 所以平均需要n/n-k瓶才能买到下一个,所以:ans = n(1/1+1/2+…+1/n)直接计算即可 ...
2018-09-12 20:40:15 236
原创 upc 6744 求和VII (bfs)
题目描述 master对树上的求和非常感兴趣。他生成了一棵有根树,并且希望多次询问这棵树上一段路径上所有节点深度的k次方和,而且每次的k可能是不同的。此处节点深度的定义是这个节点到根的路径上的边数。他把这个问题交给了pupil,但pupil并不会这么复杂的操作,你能帮他解决吗? 输入 第一行包含一个正整数n,表示树的节点数。 之后n−1行每行两个空格隔开的正整数i,j,表示树上的一条连接点...
2018-08-15 16:18:30 225
原创 upc 6759 异或序列(莫队)
题目描述 已知一个长度为n的整数数列a1,a2,…,an,给定查询参数l、r,问在al,al+1,…,ar区间内,有多少子序列满足异或和等于k。也就是说,对于所有的x,y(l≤x≤y≤r),满足ax⊕ax+1⊕⋯⊕ay=k的x,y有多少组。 输入 输入第一行为3个整数n,m,k。第二行为空格分开的n个整数,即a1,a2,…,an。接下来m行,每行两个整数lj,rj,代表一次查询。 输出 ...
2018-08-09 19:43:39 236
原创 upc 6756: 破解 D-H 协议(bsgs) 板子
题目描述 Diffie-Hellman密钥交换协议是一种简单有效的密钥交换方法。它可以让通讯双方在没有事先约定密钥(密码)的情况下,通过不安全的信道(可能被窃听)建立一个安全的密钥K,用于加密之后的通讯内容。 假定通讯双方名为Alice和Bob,协议的工作过程描述如下(其中mod表示取模运算): 协议规定一个固定的质数P,以及模P的一个原根g。P和g的数值都是公开的,无需保密。 Alice...
2018-08-09 10:34:30 232
原创 upc 6760 九连环(大数)
题目描述 九连环是一种源于中国的传统智力游戏。如图所示,九个圆环套在一把“剑”上,并且互相牵连。游戏的目标是把九个圆环从“剑”上卸下。 圆环的装卸需要遵守两个规则。 第一个(最右边)环任何时候都可以装上或卸下。 如果第k个环没有被卸下,且第k个环右边的所有环都被卸下,则第k+1个环(第k个环左边相邻的环)可以任意装上或卸下。 与魔方的千变万化不同,解九连环的最优策略是唯一的。为简单起见,...
2018-08-09 10:24:48 247
原创 组合数代码
inline ll qpow(ll a,ll b){ll r=1,t=a; while(b){if(b&1)r=(r*t)%mod;b>>=1;t=(t*t)%mod;}return r;} ////////////////////////////////////////////////////// void init() { f[0] = 1; for (l...
2018-08-08 14:06:46 404
原创 upc 6910 洗衣服(优先队列,贪心)
题目描述 你现在要洗L件衣服。你有n台洗衣机和m台烘干机。由于你的机器非常的小,因此你每次只能洗涤(烘干)一件衣服。 第i台洗衣机洗一件衣服需要wi分钟,第i台烘干机烘干一件衣服需要di分钟。请问把所有衣服洗干净并烘干,最少需要多少时间?假设衣服在机器间转移不需要时间,并且洗完的衣服可以过一会再烘干。 输入 输入第一行有3个整数L,n和m。第二行有n个整数w1,w2,…,wn。第三行有m个...
2018-08-08 14:04:51 227
原创 最小生成树主要代码
初始化 void UFset( ) //初始化 { for(int i=1;i<=n;i++){ parent[i]=i; // printf("777777%d\n",parent[i]); } } 建边 for(int i=2;i<=n;i++){ edge[++cnt].from=road[i-1].i...
2018-08-07 08:01:51 548
原创 UPC 6569 Built?(最小生成树)
题目描述 There are N towns on a plane. The i-th town is located at the coordinates (xi,yi). There may be more than one town at the same coordinates. You can build a road between two towns at coordinates...
2018-08-07 07:55:55 209
原创 读入优化与输出优化
读入优化 首先,读入优化这里是只是针对整数,getchar读字符是非常快的,所以我们就用getchar了。(下面都假设输入的数为x) void read(int &x) { int f=1;x=0;char s=getchar(); while(s<'0'||s>'9'){if(s=='-')f=-1;s=getchar();} while(s&...
2018-08-06 09:38:30 387
原创 UPC 第一套总结
G 题目描述 Takahashi wants to gain muscle, and decides to work out at AtCoder Gym. The exercise machine at the gym has N buttons, and exactly one of the buttons is lighten up. These buttons are numbere...
2018-08-06 08:58:32 625
原创 UPC 6617 Finite Encyclopedia of Integer Sequences(找规律)
题目描述 In Finite Encyclopedia of Integer Sequences (FEIS), all integer sequences of lengths between 1 and N (inclusive) consisting of integers between 1 and K (inclusive) are listed. Let the total num...
2018-08-05 19:45:21 203
原创 UPC 6616 Small Multiple(最短路)
题目描述 Find the smallest possible sum of the digits in the decimal notation of a positive multiple of K. Constraints 2≤K≤105 K is an integer. 输入 Input is given from Standard Input in the following...
2018-08-05 16:46:53 245
转载 UPC 6611 Bichrome Tree(树状DP)
题目描述 We have a tree with N vertices. Vertex 1 is the root of the tree, and the parent of Vertex i (2≤i≤N) is Vertex Pi. To each vertex in the tree, Snuke will allocate a color, either black or white...
2018-08-04 09:25:31 262
原创 UPC 6888 守卫(DP)
题目描述 九条可怜是一个热爱运动的女孩子。 这一天她去爬山,她的父亲为了她的安全,雇了一些保镖,让他们固定地呆在在山的某些位置,来实时监视九条可怜,从而保护她。 具体来说,一座山可以描述为一条折线,折线的下方是岩石。这条折线有 n 个折点,每个折点上有一个亭子,第i 个折点的坐标是 (i,hi) 。九条可怜只可能会在亭子处玩耍,那些保镖也只会在亭子处监视可怜。 由于技术方面的原因,一个保镖...
2018-08-03 10:18:42 228
原创 LDU 1362 Ascending Rating(单调队列优化DP)
题意:n个人,对于区间长度m进行q次查询,问查询到最大值交换的次数 给定一个长度为n的序列,给出前k个值,后面根据公式自己算。现在问你每个区间长度为m的子序列最大值异或上i 和 最大值变化次数异或上i的求和。 思路: 倒着考虑, 就变成 一个下台阶的问题, 逆向思维.. 队列 维护 位置, 寻找区间 就可以了. 用单调队...
2018-08-02 19:55:31 160
原创 单调队列——优化DP
队列元素保持单调递增(减),而保持的方式就是通过插队,把队尾破坏了单调性的数全部挤掉,从而使队列元素保持单调。 单调队列的作用 :优化DP。许多单调队列优化的DP可以使复杂度直接降维,下面就以最简单的一道题为例: 在某两座城市之间有 n 个烽火台,每个烽火台发出信号都有一定代价。为了使情报准确地传递,在连续 m 个烽火台中至少要有一个发出信号。请计算总共最少花费多少代价,才能使敌军来袭...
2018-08-02 19:18:24 254
原创 UPC 6887 游戏(组合计数+线性筛)
注意到我们只关心不能被其他数筛掉的数 , 也就是不存在取值在 [l,r][l,r] 的约数的数. 最后一个满足这个条件的数出现的位置就是游戏的轮数. 我们只关心满足这个条件的数的数量 , 设为 cc , 那么枚举最后一个出现的位置 ii 来算贡献. 我们知道,如果一个数在区间内没有除了它自己以外的因数,那么这个数就必须要取,不然不能满足所有数都被取过。再然后,如果一个数在区间内有除了它自己以...
2018-08-01 20:43:15 322
原创 线性筛
筛素数是为了求得一个区间内的所有素数,而把不是素数的筛去。 http://www.cnblogs.com/zhuohan123/p/3233011.html http://blog.csdn.net/leolin_/article/details/6642126 Eratosthennes筛法时间复杂度为O(nlogn),用每一个素数去筛它的倍数,即筛去它的合数,显然这样有些合数被重复筛了很...
2018-08-01 14:44:19 250
原创 UPC
#include<bits/stdc++.h> using namespace std; typedef long long ll; const int mod = 998244353; int x[205],y[205]; ll s[210]; int main(){ int n; memset(s,0,sizeof(s)); s[0]=1; scan...
2018-08-01 14:24:18 282
原创 UPC6597 Don't Be a Subsequence(求最短子序列)
题目描述 A subsequence of a string S is a string that can be obtained by deleting zero or more characters from S without changing the order of the remaining characters. For example, arc, artistic and (an...
2018-07-31 20:26:13 502
原创 UPC6605 所罗门王的宝藏
题目描述 据古代传说记载,所罗门王既是智慧的代表,又是财富的象征。他建立了强大而富有的国家,聚集了大批的黄金象牙和钻石,并把这些价值连城的珍宝藏在一个神秘的地方,这就是世人瞩目的“所罗门王的宝藏”。多少个世纪以来,人们一直在寻找这批早已失落的古代文明宝藏,寻找盛产黄金和钻石的宝地。曾经追寻所罗门王宝藏的冒险者们都一去不回,至今没人解开这个谜题。亨利男爵在一次幸运的旅途中意外地得到了三百年前一位葡...
2018-07-31 10:23:01 297
转载 UPC6604 Sandglass(模拟)
题目描述 We have a sandglass consisting of two bulbs, bulb A and bulb B. These bulbs contain some amount of sand. When we put the sandglass, either bulb A or B lies on top of the other and becomes the up...
2018-07-30 16:39:01 193
原创 CUP 6348 Milking Order(二分+拓扑排序)
7-29补7-22: http://exam.upc.edu.cn/problem.php?cid=1388&amp;amp;amp;pid=2 题目描述 Farmer John‘s N cows (1≤N≤105), numbered 1…N as always, happen to have too much time on their hooves. As a result, they have wo...
2018-07-30 10:59:04 312
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人