CF 2013-2014CTS01E04(Killer Challenge-将质因数存在 进行Bitmask)
首先,把P进行质因数分解,每一个不用的质因数压成1位
f[i][j]表示1前i位用j“拥有”的质因数表示。
然后都懂得。。。
- #include<cstdio>
- #include<cstdlib>
- #include<cstring>
- #include<iostream>
- #include<algorithm>
- #include<functional>
- #include<cmath>
- #include<cctype>
- #include<cassert>
- #include<climits>
- using namespace std;
- #define For(i,n) for(int i=1;i<=n;i++)
- #define Rep(i,n) for(int i=0;i<n;i++)
- #define Fork(i,k,n) for(int i=k;i<=n;i++)
- #define ForD(i,n) for(int i=n;i;i--)
- #define Forp(x) for(int p=pre[x];p;p=next[p])
- #define RepD(i,n) for(int i=n;i>=0;i--)
- #define MEM(a) memset(a,0,sizeof(a))
- #define MEMI(a) memset(a,127,sizeof(a))
- #define MEMi(a) memset(a,128,sizeof(a))
- #define INF (2139062143)
- #define F (1000000009)
- #define MAXN (1000+10)
- #define MAXM (1000+10)
- typedef long long ll;
- int T,n,P,p[MAXN],m,a[MAXN],s[MAXN],w[MAXN][MAXN],bin[MAXN],f[MAXN][MAXM];
- int main()
- {
- freopen("CF-2013CTS01E04-challenge.in","r",stdin);
- cin>>T;
- bin[1]=1;Fork(i,2,30) bin[i]=bin[i-1]<<1;
- // For(i,30) cout<<bin[i]<<' ';
- while(T--)
- {
- cin>>n>>P;m=0;
- int P2=P;
- Fork(i,2,sqrt(P))
- if (P%i==0)
- {
- P/=i;
- p[++m]=i;
- }
- if (P) p[++m]=P;
- P=P2;
- s[0]=0; For(i,n) cin>>a[i],s[i]=s[i-1]+a[i];
- //For(i,m) cout<<p[i]<<' ';cout<<endl;
- // memset(w,0,sizeof(w));
- For(i,n)
- Fork(j,i,n)
- {
- w[i][j]=0;
- int t=s[j]-s[i-1];
- For(k,m)
- if (t%p[k]==0) w[i][j]|=bin[k];
- }
- MEMI(f);
- // cout<<w[2][2]<<endl;
- For(i,n)
- Rep(j,bin[m+1])
- {
- if ((w[1][i]&j)==j) f[i][j]=min(f[i][j],0);
- Fork(k,i+1,n)
- {
- f[k][w[i+1][k]|j]=min(f[k][w[i+1][k]|j],f[i][j]+1);
- }
- }
- int ans=1,mincut=0;
- Rep(i,bin[m+1])
- {
- int t=1;
- For(k,m) if (bin[k]&i) t*=p[k];
- if (t>ans&&f[n][i]^INF)
- {
- ans=t;mincut=f[n][i];
- }
- }
- cout<<ans<<' '<<mincut<<endl;
- }
- while(1);
- return 0;
- }
CF 2013-2014CTS01E04(Killer Challenge-将质因数存在 进行Bitmask)的更多相关文章
- Kaggle Competition Past Solutions
Kaggle Competition Past Solutions We learn more from code, and from great code. Not necessarily alwa ...
- [PyData] 01 - Web Crawler
前言 一.总体策略 一些常见抓取数据的例子.三步走: 抓取数据并存储 <---- 数据处理 数据展示 二.学习资源 首先,通过Beautiful Soup抓取数据 from http://www ...
- [Kaggle] Online Notebooks
前言 Let's go to https://www.kaggle.com/ Kaggle Notebook 有实践记录的案例. 一.线性拟合噪声数据 [Sklearn] Linear regress ...
- CF Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined)
1. Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) B. Batch Sort 暴力枚举,水 1.题意:n*m的数组, ...
- CF 757E Bash Plays with Functions——积性函数+dp+质因数分解
题目:http://codeforces.com/contest/757/problem/E f0[n]=2^m,其中m是n的质因子个数(种类数).大概是一种质因数只能放在 d 或 n/d 两者之一. ...
- CF 757 E Bash Plays with Functions —— 积性函数与质因数分解
题目:http://codeforces.com/contest/757/problem/E 首先,f0(n)=2m,其中 m 是 n 的质因数的种类数: 而且 因为这个函数和1卷积,所以是一个积性函 ...
- cf掉分记——Avito Code Challenge 2018
再次作死的打了一次cf的修仙比赛感觉有点迷.. 还好掉的分不多(原本就太低没法掉了QAQ) 把会做的前三道水题记录在这.. A: Antipalindrome emmmm...直接暴力枚举 code: ...
- CF#538 C - Trailing Loves (or L'oeufs?) /// 分解质因数
题目大意: 求n!在b进制下末尾有多少个0 https://blog.csdn.net/qq_40679299/article/details/81167283 一个数在十进制下末尾0的个数取决于10 ...
- CF#235E. Number Challenge
传送门 可以理解为上一道题的扩展板.. 然后我们就可以YY出这样一个式子 ${\sum_{i=1}^a\sum_{j=1}^b\sum_{k=1}^cd(ijk)=\sum_{i=1}^a\sum_{ ...
随机推荐
- SQL Server 动态管理视图(DMVs)
DMV在本地部署的SQL Server中需要VIEW SERVER STATE的权限 和事务有关的DMV sys.dm_tran_active_transactions:返回与您的当前逻辑数据库的 ...
- ASP.NET MVC 4 插件化架构简单实现-思路篇
用过和做过插件的都会了解插件的好处,园子里也有很多和讨论,但大都只些简单的加载程序集什么的,这里主要讨论的就是使用 ASP.NET MVC 4 来实现每个插件都可以完全从主站点剥离出来,即使只是一个插 ...
- Matlab实现网络拓补图
顶点号 顶点号 权值 1 2 400 1 3 450 2 4 300 2 8 230 2 9 140 3 4 600 4 5 210 4 19 310 5 6 230 5 7 200 6 7 320 ...
- 第k短路
poj 2449 模板题 A*+spfa #include<iostream> #include<cstdio> #include<cstring> #inclu ...
- samba 常见问题
今天帮一个朋友搭建samba服务器,发现总是无法正常访问,最后google+摸索搞定了,下面把遇到的问题和解决方法共享一下. 这里用的linux是centos版本6. 一开始遇到的问题是‘找不到网络路 ...
- 使用WCF服务的客户端出现maxReceivedMessageSize异常
使用WCF服务的客户端出现maxReceivedMessageSize异常解决方案 当使用WCF的客户端调取的数据过多时,会出现这个异常.一般情况下,系统默认值是65536,大约容纳100-200条左 ...
- Codeforces Round #250 (Div. 2)
感觉不会再爱了,呜呜! A题原来HACK这么多!很多人跟我一样掉坑了! If there is some choice whose description at least twice shorter ...
- 深入理解asp.net SessionState
web Form 网页是基于HTTP的,它们没有状态, 这意味着它们不知道所有的请求是否来自同一台客户端计算机,网页是受到了破坏,以及是否得到了刷新,这样就可能造成信息的丢失. 于是, 状态管理就成了 ...
- 使用Assetbundle时可能遇到的坑
原地址:http://www.cnblogs.com/realtimepixels/p/3652128.html 一 24 十一郎未分类 No Comments 转自 http://www.unity ...
- mysql存储过程和函数使用实例
1.需求:根据输入的年份,月份,和当前系统的年份比较,不满1年按1年计算,多出1年11个月也按1年计算. 2.计算得出来的使用年份,计算车辆残值. 3.存储过程 DELIMITER $$ USE `d ...