咕了好久,也没什么想说的。

下一场就又爆炸了。。。

T3特判打丢一句话丢了14分,剩下其实都还好。

T1:x

给我的第一感觉是建图找联通块,但既然只要找联通块为什么不直接并查集呢?

对于每一个数字合并它的所有因子,求出现过的因子形成几个联通块,特殊处理1。

二营长比我快了整整5分钟做出来的。

 #include<cstdio>
#include<vector>
using namespace std;
#define mod 1000000007
#define int long long
vector<int>v[];
int x[],al[],f[],prime[],cnt_prime;bool not_prime[];
int pow(int b,int t,int a=){for(;t;t>>=,b=b*b%mod)if(t&)a=a*b%mod;return a;}
int find(int k){return f[k]==k?k:f[k]=find(f[k]);}
main(){
int t;scanf("%lld",&t);
for(int i=;i<=;++i)if(!not_prime[i]){
prime[++cnt_prime]=i;
for(int j=i;j<=;j+=i)v[j].push_back(i),not_prime[j]=;
}
while(t--){
int n,cnt1=;scanf("%lld",&n);
for(int i=;i<=n;++i){scanf("%lld",&x[i]);if(x[i]==)cnt1++;}
for(int i=;i<=cnt_prime;++i)f[prime[i]]=prime[i],al[prime[i]]=;
for(int i=;i<=n;++i)if(x[i]!=)for(int j=;j<v[x[i]].size();++j)
f[find(v[x[i]][j])]=find(v[x[i]][]),al[v[x[i]][j]]=;//,printf("%lld %lld\n",v[x[i]][0],v[x[i]][j]);
for(int i=;i<=n;++i)if(x[i]!=)al[v[x[i]][]]=;
for(int i=;i<=cnt_prime;++i)if(al[prime[i]])if(al[find(prime[i])]!=)
al[find(prime[i])]=,cnt1++;
printf("%lld\n",(pow(,cnt1)-+mod)%mod);
}
}

思路积累:

  • 埃筛:求出含有的每种质因子
  • 并查集

T2:y

莫名想到了双向搜索,因为20的范围会很卡但是折半之后就很好,然后就好做了。

可以发现我们要求的路径不限制终点。

那么分别处理以1为起点所能形成的长度为d/2的路径集合和以任意点为起点的路径集合。

然后把两种路径的终点接起来就形成了长度为d的路径。

比脸快23s抢到迷之首杀。

 #include<cstdio>
int can[][][],n,fir[],l[],to[],v[],cnt,m,d,rev[],ans,can2[][][],al[];
void link(int a,int b,int V){l[++cnt]=fir[a];fir[a]=cnt;to[cnt]=b;v[cnt]=V;}
int main(){
scanf("%d%d%d",&n,&m,&d);
for(int i=,a,b,V;i<=m;++i)scanf("%d%d%d",&a,&b,&V),link(a,b,V),link(b,a,V);
int lh=d>>,rh=d-lh,usf=(<<rh)-;
can[][][]=;for(int i=;i<=n;++i)can2[][i][]=;
for(int len=,L=;len<lh;++len,++L)for(int i=;i<=n;++i)for(int st=;st<<<len;++st)if(can[len][i][st])
for(int j=fir[i];j;j=l[j])can[L][to[j]][st<<|v[j]]=;
for(int len=,L=;len<rh;++len,++L)for(int i=;i<=n;++i)for(int st=;st<<<len;++st)if(can2[len][i][st])
for(int j=fir[i];j;j=l[j])can2[L][to[j]][st<<|v[j]]=;
for(int i=;i<<<lh;++i)for(int j=;j<=n;++j)if(can[lh][j][i])
for(int k=;k<=usf;++k)if(!al[i<<rh|k]&&can2[rh][j][k])al[i<<rh|k]=,ans++;
printf("%d\n",ans);
}

思路积累:

  • 双向搜索:状态数开根

T3:z

31分给暴力了。

+14分单调:只要处理第一个和最后一个就行。x[2]=x[n],n=2;然而考场上没写n=2,T掉了。。。

+20分曲折:二分最早的不能覆盖的段然后就是一次函数。

100分:大模拟。考场上有链表+堆的思路。感觉很不好打就没有打。

事实上的确很不好打,现在还没有A。

思路和下发的std不太一样。

[考试反思]0928csp-s模拟测试54:转瞬的更多相关文章

  1. [考试反思]0718 NOIP模拟测试5

    最后一个是我...rank#11 rank#1和rank#2被外校大佬包揽了. 啊...考的太烂说话底气不足... 我考场上在干些什么啊!!! 20分钟“切”掉T2,又27分钟“切”掉T1 切什么切, ...

  2. 2019.9.28 csp-s模拟测试54 反思总结

    咕咕咕的冲动如此强烈x T1x: 看完题目想了想,感觉把gcd不为1的强行放在一组,看作一个连通块,最后考虑连通块之间的组合方式就可以了. 然后维护这个连通块可以写并查集可以连边跑dfs怎么着都行… ...

  3. 9.28 csp-s模拟测试54 x+y+z

    T1 x 求出每个数的质因数,并查集维护因子相同的数,最后看一共有多少个联通块,$ans=2^{cnt}-2$ 但是直接分解会$T$,埃筛是个很好的选择,或者利用每个数最多只会有1个大于$\sqrt{ ...

  4. [考试反思]0814NOIP模拟测试21

    前两名是外校的240.220.kx和skyh拿到了190的[暴力打满]的好成绩. 我第5是170分,然而160分就是第19了. 在前一晚上刚刚爆炸完毕后,心态格外平稳. 想想前一天晚上的挣扎: 啊啊啊 ...

  5. [考试反思]1109csp-s模拟测试106:撞词

    (撞哈希了用了模拟测试28的词,所以这次就叫撞词吧) 蓝色的0... 蓝色的0... 都该联赛了还能CE呢... 考试结束前15分钟左右,期望得分300 然后对拍发现T2伪了写了一个能拿90分的垃圾随 ...

  6. [考试反思]0909csp-s模拟测试41:反典

    说在前面:我是反面典型!!!不要学我!!! 说在前面:向rank1某脸学习,不管是什么题都在考试反思后面稍微写一下题解. 这次是真的真的运气好... 这次知识点上还可以,但是答题策略出了问题... 幸 ...

  7. [考试反思]0729NOIP模拟测试10

    安度因:哇哦. 安度因:谢谢你. 第三个rank1不知为什么就来了.迷之二连?也不知道哪里来的rp 连续两次考试数学都占了比较大的比重,所以我非常幸运的得以发挥我的优势(也许是优势吧,反正数学里基本没 ...

  8. [考试反思]0714/0716,NOIP模拟测试3/4

    这几天时间比较紧啊(其实只是我效率有点低我在考虑要不要坐到后面去吹空调) 但是不管怎么说,考试反思还是要写的吧. 第三次考试反思没写总感觉缺了点什么,但是题都刷不完... 一进图论看他们刷题好快啊为什 ...

  9. [考试反思]1003csp-s模拟测试58:沉淀

    稳住阵脚. 还可以. 至少想拿到的分都拿到了,最后一题的确因为不会按秩合并和线段树分治而想不出来. 对拍了,暴力都拍了.挺稳的. 但是其实也有波折,险些被卡内存. 如果内存使用不连续或申请的内存全部使 ...

随机推荐

  1. [Note] Windows 10 Python 3.6.4 安装scrapy

    直接使用pip install安装时会在安装Twisted出错,以下主要是解决Twisted的安装问题 1. 安装wheel pip install wheel 2. 安装Twisted 在Pytho ...

  2. Docker 为非root用户授权

    Docker 为非root用户授权: 当运行docker pull busybox时候,会提示sky用户无法调用docker. 那么应该把sky用户加入docker用户组,不过在添加的时候,又提示了如 ...

  3. 【Java】 生成32位随机字符编号

    /** * 生成32位编码 * @return string */ public static String getUUID(){ String uuid = UUID.randomUUID().to ...

  4. JVM垃圾回收(下)

    接着上一篇,介绍完了 JVM 中识别需要回收的垃圾对象之后,这一篇我们来说说 JVM 是如何进行垃圾回收. 首先要在这里介绍一下80/20 法则: 约仅有20%的变因操纵着80%的局面.也就是说:所有 ...

  5. session与cookie,django中间件

    0819自我总结 一.session与cookie 1.django设置session request.session['name'] = username request.session['age' ...

  6. linux服务器搭建--将win10换成linux

    在这里说记录一下自己装linux的步骤,如果也有需要的朋友可以参看下: 1.目前win10的系统装成inux系统有3个解决办法: 第一:win10装linux子系统,网上已经有很多教程,步骤很简单 第 ...

  7. ‎Cocos2d-x 学习笔记(15.3) EventDispatcher DirtyFlag 脏标记

    1. 定义 用枚举定义脏标记的4种类型. enum class DirtyFlag { NONE = , FIXED_PRIORITY = << , SCENE_GRAPH_PRIORIT ...

  8. Python开发【第二篇】:初始Python

    Python的前世今生 Python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,中国人称他为龟叔,他在圣诞节期间在阿姆斯特丹为了打发时间,决定开发一个新的脚本 ...

  9. VoodooPad Mac笔记本

    VoodooPad Mac笔记本 VoodooPad是记录您的笔记和想法的地方.想法,图片,列表,密码和妈妈的苹果派食谱.包括您需要跟踪和组织的所有内容,VoodooPad会与您一起成长而不会妨碍您. ...

  10. 让搭建在 Github Pages 上的 Hexo 博客可以被 Google 搜索到

    title: 让搭建在Github Pages上的Hexo博客可以被Google搜索到 date: 2019-05-30 23:35:44 tags: 配置 --- 准备工作 搭建好的博客 npm & ...