C:结论题:设n=k*p1+r=a*p2+b,只要n有两个及以上质因子,那么必然可以用第一个质因子表示出第二个质因子,所以答案是1

反之显然是其最小质因子

/*
1 2 3 4
1 3
2 4
n的所有因子
*/
#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define N 1000006
ll n; bool vis[N];
ll prime[N],m;
void init(){
for(int i=;i<=;i++){
if(!vis[i])prime[++m]=i;
for(int j=;j<=m;j++){
if(prime[j]*i>)break;
vis[prime[j]*i]=;
if(i%prime[j]==)break;
}
}
} ll p[N],mm;
void divide(ll x){
mm=;
for(int i=;i<=m;i++)if(x%prime[i]==){
p[++mm]=prime[i];
while(x%prime[i]==)
x/=prime[i];
}/*
puts("1");
cout<<x<<'\n';
*/if(x>)
p[++mm]=x;
} int main(){
init();
cin>>n; divide(n);
if(mm== && p[]==n){
cout<<n<<'\n';
}
else if(mm== && p[]!=n){
cout<<p[]<<'\n';
}
else cout<<<<'\n'; } /*
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
1 4 7 10 13 16 19
2 5 8 11 14 17 20
3 6 9 12 15 18 21 1 6 11 16 21 26 31
2 7 12
3 8 13
4 9 14
5 10 15 */

D:求补图联通块模板题

/*
这题可以转化为在补图上求出联通块的个数
每个点和其不相邻的点在补图上形成联通块
那么在补图上进行bfs求联通块:
1.所有点形成一个链表list,初始化一个队列que
2.如果que为空,说明新找到了一个联通块,则从链表头取出一个元素,同时删除该元素,反之从que中取出首元素
3.标记和当前元素cur相邻的所有点,然后遍历一次链表,将链表中未被标记的点加入que,同时从链表中删除
4.重复以上步骤直到 que和list皆为空
复杂度分析:每个结点只在链表中被删除一次,
每次标记完cur的相邻点并删除完链表后,链表中剩下的元素不会超过cur的度数,所以多次遍历链表的复杂度总和也是O(m)
*/
#include<bits/stdc++.h>
#include<vector>
using namespace std;
#define ll long long
#define N 200005
vector<int>G[N];
int n,m,ans; struct List{int pre,nxt;}l[N];
void del(int p){
l[l[p].nxt].pre=l[p].pre;
l[l[p].pre].nxt=l[p].nxt;
} int vis1[N],vis2[N];//点i是否在链表里,点i是否与当前点相邻
void bfs(){
queue<int>q;
while(q.size())q.pop();
while(l[].nxt!=n+){
if(!q.size()){
int cur=l[].nxt;
del(l[].nxt);
vis1[cur]=;
q.push(cur);
ans++;
}
while(q.size()){
int cur=q.front();q.pop();
for(auto x:G[cur])vis2[x]=;
int p=l[].nxt;
while(p!=n+){
if(!vis2[p] && !vis1[p]){
q.push(p);
del(p);
vis1[p]=;
}
p=l[p].nxt;
}
for(auto x:G[cur])vis2[x]=;
}
}
} int main(){
cin>>n>>m;
for(int i=;i<=m;i++){
int u,v;
scanf("%d%d",&u,&v);
G[u].push_back(v);
G[v].push_back(u);
} //初始化链表
for(int i=;i<=n;i++)
l[i].pre=i-,l[i].nxt=i+;
l[].nxt=;l[n+].pre=n; bfs(); cout<<ans-<<'\n';
}

E.图论求环+状态压缩dp:枚举子集O(3^n)讨论

自己写了半天没写出来。。感觉极其繁琐,贴了做法。待补

/*
先求出每堆的目标值X
对于第i堆,我们扔掉元素a[i][j],那么需要的元素就是X-(sumi-a[i][j])
假设这个元素的位置是a[x][y],那么我们从a[x][y]到a[i][j]连一条边
那么这个图上会出现一些环,由于每个数都不同,所以一个环最多经过一堆一次
要求找出一些环,使这些环刚好覆盖k堆一次 先tarjan找环,每个环记录覆盖的堆序号,元素的下标,然后状态压缩dp
枚举所有环,
dp[S]表示 当前已经覆盖的状态是S,pre[S]表示S状态是从哪个环转移来的
这个状压dp是经典的O(^n)的子集状压dp,枚举dp[S]的所有子集S',如果有对应S'的环且dp[S-S']是可行解,那么dp[S]可行
预处理S的所有子集,id[S]表示覆盖状态S的环序号,这样能保证每个环不冲突
*/

cf round599 CDE的更多相关文章

  1. cf round546 cde

    第一题会卡一下同时用set和cin.. 其他的注意下矩阵对角线下标的应用即可 #include<bits/stdc++.h> using namespace std; #define ma ...

  2. petrozavodsk summer 2018 游记&&总结

    day0: 出发前训了一场比较水bapc2017保持手感(恢复信心),成功AK了,不过罚时略高.然后三人打车从紫金港到杭州东站,坐高铁到上海虹桥,再坐机场快线到浦东机场(傻乎乎的jsb帮爸爸付了钱,然 ...

  3. CF 987

    毒瘤啊啊啊啊啊 虽然排名还不错,331,但是B我没做出来...... 这是战绩: 可以看到我大发神威势如破竹的A了CDE,但是B把我卡了三次...不然我就能进前300了(还是很水). 逐一分析题目: ...

  4. 关于cf[转]

    还不怎么熟悉cf呢.. 你应当知道的关于Codeforces的事情 Codeforces简称: cf(所以谈论cf的时候经常被误会成TX的那款游戏).网址: codeforces.com 这是一个俄国 ...

  5. ORA-00494: enqueue [CF] held for too long (more than 900 seconds) by 'inst 1, osid 5166'

    凌晨收到同事电话,反馈应用程序访问Oracle数据库时报错,当时现场现象确认: 1. 应用程序访问不了数据库,使用SQL Developer测试发现访问不了数据库.报ORA-12570 TNS:pac ...

  6. cf之路,1,Codeforces Round #345 (Div. 2)

     cf之路,1,Codeforces Round #345 (Div. 2) ps:昨天第一次参加cf比赛,比赛之前为了熟悉下cf比赛题目的难度.所以做了round#345连试试水的深浅.....   ...

  7. cf Round 613

    A.Peter and Snow Blower(计算几何) 给定一个点和一个多边形,求出这个多边形绕这个点旋转一圈后形成的面积.保证这个点不在多边形内. 画个图能明白 这个图形是一个圆环,那么就是这个 ...

  8. ARC下OC对象和CF对象之间的桥接(bridge)

    在开发iOS应用程序时我们有时会用到Core Foundation对象简称CF,例如Core Graphics.Core Text,并且我们可能需要将CF对象和OC对象进行互相转化,我们知道,ARC环 ...

  9. [Recommendation System] 推荐系统之协同过滤(CF)算法详解和实现

    1 集体智慧和协同过滤 1.1 什么是集体智慧(社会计算)? 集体智慧 (Collective Intelligence) 并不是 Web2.0 时代特有的,只是在 Web2.0 时代,大家在 Web ...

随机推荐

  1. SQL Server索引管理之六大铁律

    索引是以表列为基础的数据库对象.索引中保存着表中排序的索引列,并且纪录了索引列在数据库表中的物理存储位置,实现了表中数据的逻辑排序.通过索引,可以加快数据的查询速度和减少系统的响应时间;可以使表和表之 ...

  2. 【Linux】设置开机自启

    忘记转发的哪里的. 方法 1这种方法会利用 /etc/ 中的 rc.local 文件来在启动时执行脚本与命令.我们在文件中加上一行来执行脚本,这样每次启动系统时,都会执行该脚本. 不过我们首先需要为 ...

  3. 【CF741D】Arpa’s letter-marked tree and Mehrdad’s Dokhtar-kosh paths(dsu on tree)

    题意:我们称一个字符串为周驿东串当且仅当重排它的字符可以组成一个回文串. 给出一个n个点的有根树,根为1,每条边上有一个从a到v的字符,求每个点的子树中所有简单路径可以组成的周驿东串中的最长长度. n ...

  4. Aspect-Oriented Programming : Aspect-Oriented Programming with the RealProxy Class

    Aspect-Oriented Programming : Aspect-Oriented Programming with the RealProxy Class A well-architecte ...

  5. datatbales 使用笔记

    实例: var datatable_obj = null; $(document).ready(function(){ datatable_obj = $('#merchant-list').Data ...

  6. C++ 指针基址1

    char *p=(char *)&n;中括号中为什幺要加个*号 答: &n是一个整型数值,代表变量n的地址,不包含其所保存的数据的类型信息(也就是说只凭借一个地址是不能推测出,该地址所 ...

  7. 使用命令将ipa包上传到蒲公英

    参考:官文文档 请根据开发者自己的账号,将其中的 uKey 和 _api_key 的值替换为相应的值.   curl -F "file=@/Users/chenpeisong/Desktop ...

  8. JS 提取公式中的参数

    'A+B-C/D*E'.split(/[*/()+-]/)  => [A,B,C,D,E]

  9. USACO 6.5 章节 世界上本没有龙 屠龙的人多了也便有了

    All Latin Squares 题目大意 n x n矩阵(n=2->7) 第一行1 2 3 4 5 ..N 每行每列,1-N各出现一次,求总方案数 题解 n最大为7 显然打表 写了个先数值后 ...

  10. CSS实现文字阴影的效果

    CSS中有两种阴影效果,一种是DropShadow(投影),另一种是Shadow(阴影).1.DropShadow语法:{FILTER:DropShadow(Color=color,OffX=offX ...