HDU多校Round 3
Solved:4
rank:268
C. Dynamic Graph Matching 状压DP一下
#include <stdio.h>
#include <algorithm>
#include <algorithm>
#include <string.h>
using namespace std;
typedef long long ll;
const ll mod = 1e9 + ; ll dp[ << ];
ll ans[];
int num[ << ]; void work()
{
int len = << ;
for(int i = ; i < len; i++)
{
int x = i;
while(x)
{
if(x & ) num[i]++;
x >>= ;
}
}
} int main()
{
work();
int T;
scanf("%d", &T);
while(T--)
{
int n, m;
scanf("%d%d", &n, &m);
memset(dp, , sizeof(dp));
memset(ans, , sizeof(ans));
dp[] = ; char s[];
int len = << n;
for(int i = ; i <= m; i++)
{
int a, b;
scanf("%s", s);
scanf("%d%d", &a, &b);
a--, b--; int tmp = ( << a) | ( << b);
for(int i = ; i < len; i++)
{
if(num[i] & ) continue;
if((i & tmp) == tmp)
{
if(s[] == '+')
{
dp[i] = (dp[i] + dp[i - tmp]) % mod;
ans[num[i] / ] += dp[i - tmp];
ans[num[i] / ] %= mod;
}
else
{
dp[i] -= dp[i - tmp];
dp[i] = (dp[i] + mod) % mod;
ans[num[i] / ] -= dp[i - tmp];
ans[num[i] / ] += mod;
ans[num[i] / ] %= mod;
}
}
}
for(int i = ; i <= n / ; i++)
{
if(i == ) printf("%d", ans[i]);
else printf(" %d", ans[i]);
}
puts("");
}
}
return ;
}
D. Euler Function
#include <stdio.h>
#include <algorithm>
#include <iostream>
using namespace std;
typedef long long ll; int getphi(int o)
{
int res = o;
int n = o;
for(int i = ; i * i <= n; i++)
{
if(n % i == )
{
res -= res / i;
while(n % i == ) n /= i;
}
}
if(n > ) res -= res / n;
return res;
} int main()
{
int T;
scanf("%d", &T);
while(T--)
{
int n;
scanf("%d", &n);
if(n == ) printf("5\n");
else if(n == ) printf("7\n");
else printf("%d\n", n + );
}
return ;
}
L. Visual Cube
#include <stdio.h>
#include <algorithm>
#include <iostream>
#include <string.h>
using namespace std; char tu[][]; int main()
{
int T;
scanf("%d", &T);
while(T--)
{
int a, b, c;
scanf("%d%d%d", &a, &b, &c); int lie = a * + + b * ;
int hang = c * + + b * ; for(int i = ; i <= hang; i++)
for(int j = ; j <= lie; j++)
tu[i][j] = '.'; for(int i = ; i <= hang; i += )
for(int j = ; j <= lie; j += )
tu[i][j] = '+'; for(int i = ; i <= hang; i += )
for(int j = ; j <= lie; j += )
tu[i][j] = '-'; for(int i = ; i <= hang; i+= )
for(int j = ; j <= lie; j += )
tu[i][j] = '|'; int in = ;
int jn = b * + ;
for(int i = ; i <= b; i++)
{
in += ;
jn -= ;
for(int j = ; j <= a + ; j++)
{
tu[in][jn + (j - ) * ] = '.';
tu[in][jn + (j - ) * + ] = '/';
}
} int inj = lie + ;
int inh = ;
for(int i = ; i <= b; i++)
{
inj -= ;
inh += ;
for(int j = ; j <= c; j++)
{
tu[inh + (j - ) * ][inj] = '.';
tu[inh + (j - ) * + ][inj] = '/';
}
} int len = b * + ;
for(int i = ; i <= b * ; i++)
{
len--;
for(int j = ; j <= len; j++)
tu[i][j] = '.';
} len = b * + ;
for(int i = hang; i >= hang - b * ; i--)
{
len--;
for(int j = lie - len + ; j <= lie; j++)
tu[i][j] = '.';
} for(int i = ; i <= hang; i++)
{
for(int j = ; j <= lie; j++)
printf("%c", tu[i][j]);
puts("");
}
}
return ;
}
HDU多校Round 3的更多相关文章
- HDU多校Round 8
Solved:2 rank:141 D. Parentheses Matrix n,m有一个小于6的时候是一种构造方法 答案是n + (m - 2) / 2 (n > m) 都大于6的时候 可以 ...
- HDU多校Round 7
Solved:2 rank:293 J. Sequense 不知道自己写的什么东西 以后整数分块直接用 n / (n / i)表示一个块内相同n / i的最大i #include <bits/s ...
- HDU多校Round 6
Solved:2 rank:452 I. Werewolf 没有铁人 找铁狼 如果一个环中只有一条狼人边那个人就是铁狼 说铁狼是好人的人也是铁狼 #include <bits/stdc++.h& ...
- HDU多校Round 5
Solved:3 rank:71 E. Everything Has Changed #include <bits/stdc++.h> using namespace std; const ...
- HDU多校Round 4
Solved:3 rank:405................................. B. Harvest of Apples 知道了S(n,m) 可以o(1)的求S(n - 1, m ...
- HDU多校Round 1
Solved:5 rank:172 A.Maximum Multiple #include <stdio.h> #include <algorithm> #include &l ...
- hdu 5667 BestCoder Round #80 矩阵快速幂
Sequence Accepts: 59 Submissions: 650 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536 ...
- hdu 5643 BestCoder Round #75
King's Game Accepts: 249 Submissions: 671 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 6 ...
- hdu 5641 BestCoder Round #75
King's Phone Accepts: 310 Submissions: 2980 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
随机推荐
- please get a license from www.texturepacker.com
我们在使用texturepacker创建资源后,在使用资源时出现下述问题:please get a license from www.texturepacker.com 如图: 这个是由于我们的版本号 ...
- a high-level neural networks AP
Keras Documentation https://keras.io/ You have just found Keras. Keras is a high-level neural networ ...
- CI框架下的get_instance() 函数
你随便下个CI框架的源码都会看到很多的get_instance() 函数,这个函数是用来获取CI 的全局超级对象,CI 是单例模式的框架,所有全局有一个超级对象.因为只有一个实例,所以无论这个函数使用 ...
- ARM+llinux系统移植3G拨号上网收发短信(一)【转】
本文转载自:http://blog.csdn.net/hanmengaidudu/article/details/17099737 一. PPP移植 各项工作具体说明 向Linux内核添加3 ...
- POJ 3100:Root of the Problem
Root of the Problem Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12060 Accepted: 6 ...
- javaSE基础(三)
泛型类:像ArrayList这样的特殊类,他们允许通过类型参数来指明使用的数据类型. 报装类:一种用于将基本类型的数据"封装"成对象的类. 装箱:将 基本类型的数据自动转换为对应类 ...
- Python: PS 滤镜--马赛克
本文利用 Python 实现PS 滤镜中的马赛克效果,具体的算法原理和效果可以参考之前的博客: http://blog.csdn.net/matrix_space/article/details/30 ...
- 【POJ 3070】 Fibonacci
[题目链接] 点击打开链接 [算法] 矩阵乘法快速幂 [代码] #include <algorithm> #include <bitset& ...
- ImportError: No module named flask.ext.login
from flask.ext.login import current_user python 3.x中,上面代码会报错:ImportError: No module named flask.ext. ...
- oracle 统计/分析函数
Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是对于每个组返回多行,而聚合函数对于每个组只返回一行. 语法: Sql代码 <analytic ...