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

下一场就又爆炸了。。。

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. Java基础学习笔记(五) - 常用的API

    API介绍 概念:API 即应用编程程序接口.Java API是JDK中提供给我们使用的类说明文档,这些类将底层的代码实现封装.无需关心这些类是如何实现,只需要学习如何使用. 使用:通过API找到需要 ...

  2. [Python] Python 学习记录(1)

    1.概论 弱类型 一个变量能被赋值时能与原类型不同 x = 1 x = "1"  #不加分号,给x赋值为int后再次赋值为string是可行的 与或非 and or not /  ...

  3. Web应用程序并发问题处理的一点小经验

    在web应用中,一个账户,会有N多个涉及到数字的字段.比如一个账户的金额,积分等.这些字段就涉及到增减的情况.如果是在测试环境下,靠程序员或者测试手动点击.一般是发现不了问题. 一旦上到正式环境下.有 ...

  4. Kafka安装-Linux版

    1.   准备 1.1    Kafka Kafka版本采用0.10.2.1,下载0.10.2.1文件 http://kafka.apache.org/downloads 1.2    JDK JDK ...

  5. redis之spring应用

    前言 读本文之前,需要大家对redis有所了解,大家可以去看一下我之前分享的redis安装及简单使用这一随笔,而本文我将跟大家分享学习一下redis与spring的集成.当然,首先需要打开我们的red ...

  6. python程序编译成exe文件

    最近越来越喜欢使用python写工具.使用的时候,发现程序内部成员python安装目录常常不同,如果用bat双击执行,常常需要修改从svn上down下来的bat文件中python.exe的路径.而给策 ...

  7. python服务端工程师就业面试指导☝☝☝

    python服务端工程师就业面试指导 由Python专业面试官打造的课,少之又少,专业代表着经验,代表着对考察点的通透理解,更代表着对你负责 第1章 Python工程师offer直通车(视频+教辅文档 ...

  8. 流水线机制、滑动窗口协议、GBN、SR

    一.滑动窗口协议 为了解决停等操作的性能问题(发了一个分组之后一直等到确认了这个分组才发下一个),推出了流水线机制,提供资源利用率.就是允许发送方在收到对方的ACK前,发送多个分组 其中窗口是一个范围 ...

  9. 机器学习回顾篇(7):决策树算法(ID3、C4.5)

    .caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...

  10. [LUOGU1437] 敲砖块

    题目描述 在一个凹槽中放置了 n 层砖块.最上面的一层有n 块砖,从上到下每层依次减少一块砖.每块砖 都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示. 14 15 4 3 23 33 33 7 ...