BZOJ 4602: [Sdoi2016]齿轮 dfs】的更多相关文章

4602: [Sdoi2016]齿轮 题目连接: http://www.lydsy.com/JudgeOnline/problem.php?id=4602 Description 现有一个传动系统,包含了N个组合齿轮和M个链条.每一个链条连接了两个组合齿轮u和v,并提供了一个传动比x : y.即如果只考虑这两个组合齿轮,编号为u的齿轮转动x圈,编号为v的齿轮会转动y圈.传动比为正表示若编号 为u的齿轮顺时针转动,则编号为v的齿轮也顺时针转动.传动比为负表示若编号为u的齿轮顺时针转动,则编号为v…
4602: [Sdoi2016]齿轮 Description 现有一个传动系统,包含了N个组合齿轮和M个链条.每一个链条连接了两个组合齿轮u和v,并提供了一个传动比x  : y.即如果只考虑这两个组合齿轮,编号为u的齿轮转动x圈,编号为v的齿轮会转动y圈.传动比为正表示若编号 为u的齿轮顺时针转动,则编号为v的齿轮也顺时针转动.传动比为负表示若编号为u的齿轮顺时针转动,则编号为v 的齿轮会逆时针转动.若不同链条的传动比不相容,则有些齿轮无法转动.我们希望知道,系统中的这N个组合齿 轮能否同时转动…
题目 现有一个传动系统,包含了N个组合齿轮和M个链条.每一个链条连接了两个组合齿轮u和v,并提供了一个传动比x : y.即如果只考虑这两个组合齿轮,编号为u的齿轮转动x圈,编号为v的齿轮会转动y圈.传动比为正表示若编号 为u的齿轮顺时针转动,则编号为v的齿轮也顺时针转动.传动比为负表示若编号为u的齿轮顺时针转动,则编号为v 的齿轮会逆时针转动.若不同链条的传动比不相容,则有些齿轮无法转动.我们希望知道,系统中的这N个组合齿 轮能否同时转动. 题解: 没想到直接dfs居然能过. doc出的题真的是…
这道题就是一个DFS,有一篇奶牛题几乎一样.但是这道题卡精度. 这道题网上的另一篇题解是有问题的.取对数这种方法可以被轻松卡.比如1e18 与 (1e9-1)*(1e9+1)取对数根本无法保证不被卡精度.所以我们需要换一个方法. 我们取一个大质数,在这个质数的模意义下进行运算:乘法是乘法,除法变成乘逆元,负数加一个质数.这种方法虽然可能冲突,但是与数据无关. #include<cstdio> using namespace std ; struct edge { int p ; int a ;…
4602: [Sdoi2016]齿轮 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 613  Solved: 324 [Submit][Status][Discuss] Description 现有一个传动系统,包含了N个组合齿轮和M个链条.每一个链条连接了两个组合齿轮u和v,并提供了一个传动比x  : y.即如果只考虑这两个组合齿轮,编号为u的齿轮转动x圈,编号为v的齿轮会转动y圈.传动比为正表示若编号 为u的齿轮顺时针转动,则编号为v的齿轮…
BZOJ4602 Sdoi2016 齿轮 Description 现有一个传动系统,包含了N个组合齿轮和M个链条.每一个链条连接了两个组合齿轮u和v,并提供了一个传动比x : y.即如果只考虑这两个组合齿轮,编号为u的齿轮转动x圈,编号为v的齿轮会转动y圈.传动比为正表示若编号为u的齿轮顺时针转动,则编号为v的齿轮也顺时针转动.传动比为负表示若编号为u的齿轮顺时针转动,则编号为v的齿轮会逆时针转动.若不同链条的传动比不相容,则有些齿轮无法转动.我们希望知道,系统中的这N个组合齿 轮能否同时转动.…
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4602 [题解] 对于每组齿轮(u, v)连边,权值为y/x(反向边x/y) 那么直接dfs计算一遍即可. # include <math.h> # include <stdio.h> # include <string.h> # include <algorithm> // # include <bits/stdc++.h> using n…
4513: [Sdoi2016]储能表 题意:求\[ \sum_{i=0}^{n-1}\sum_{j=0}^{m-1} max((i\oplus j)-k,0) \] 写出来好开心啊...虽然思路不完全是自己的但代码是按照自己的想法用记忆化搜索写的啊 小于k的直接不用考虑 考虑二进制上数位DP,从高到低考虑每一位 \(n,m,k\)变成了三条天际线,小于等于\(n,m\)并且大于等于\(k\) \(f[i][s1][s2][s3]\)表示第i位三条天际线状态s1s2s3时满足条件的方案数和异或和…
LOJ BZOJ 洛谷 点分治.考虑如何计算过\(rt\)的答案. 记\(pre[i]\)表示(之前的)子树内循环匹配了\(S\)的前缀\(i\)的路径有多少,\(suf[i]\)表示(之前的)子树内循环匹配了\(S\)的后缀\(i\)的路径有多少. 一个点如果能作为前缀\(dep\%m\)出现,然后\(s[rt]=s[dep\%m+1]\),就可以统计\(suf[m-dep\%m-1]\)的贡献. 作为后缀出现同理. 判某个深度\(dep\)是否是循环匹配了\(S\)的前缀\(i\),本来想的…
BZOJ 洛谷 切了一道简单的数位DP,终于有些没白做题的感觉了...(然而mjt更强没做过这类的题也切了orz) 看部分分,如果\(k=0\),就是求\(\sum_{i=0}^n\sum_{j=0}^mi\ \mathbb{xor}\ j\).这个数据范围考虑数位DP.(其实统计一下\(\leq n\)和\(\leq m\)中每位为\(1\)的数有多少个就行了...) 如果你做过字节跳动冬令营网络赛 D.The Easiest One(没做过也行),就可以想到枚举每一位的时候,同时枚举\(x,…