[考试反思]0928csp-s模拟测试54:转瞬


咕了好久,也没什么想说的。
下一场就又爆炸了。。。
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:转瞬的更多相关文章
- [考试反思]0718 NOIP模拟测试5
最后一个是我...rank#11 rank#1和rank#2被外校大佬包揽了. 啊...考的太烂说话底气不足... 我考场上在干些什么啊!!! 20分钟“切”掉T2,又27分钟“切”掉T1 切什么切, ...
- 2019.9.28 csp-s模拟测试54 反思总结
咕咕咕的冲动如此强烈x T1x: 看完题目想了想,感觉把gcd不为1的强行放在一组,看作一个连通块,最后考虑连通块之间的组合方式就可以了. 然后维护这个连通块可以写并查集可以连边跑dfs怎么着都行… ...
- 9.28 csp-s模拟测试54 x+y+z
T1 x 求出每个数的质因数,并查集维护因子相同的数,最后看一共有多少个联通块,$ans=2^{cnt}-2$ 但是直接分解会$T$,埃筛是个很好的选择,或者利用每个数最多只会有1个大于$\sqrt{ ...
- [考试反思]0814NOIP模拟测试21
前两名是外校的240.220.kx和skyh拿到了190的[暴力打满]的好成绩. 我第5是170分,然而160分就是第19了. 在前一晚上刚刚爆炸完毕后,心态格外平稳. 想想前一天晚上的挣扎: 啊啊啊 ...
- [考试反思]1109csp-s模拟测试106:撞词
(撞哈希了用了模拟测试28的词,所以这次就叫撞词吧) 蓝色的0... 蓝色的0... 都该联赛了还能CE呢... 考试结束前15分钟左右,期望得分300 然后对拍发现T2伪了写了一个能拿90分的垃圾随 ...
- [考试反思]0909csp-s模拟测试41:反典
说在前面:我是反面典型!!!不要学我!!! 说在前面:向rank1某脸学习,不管是什么题都在考试反思后面稍微写一下题解. 这次是真的真的运气好... 这次知识点上还可以,但是答题策略出了问题... 幸 ...
- [考试反思]0729NOIP模拟测试10
安度因:哇哦. 安度因:谢谢你. 第三个rank1不知为什么就来了.迷之二连?也不知道哪里来的rp 连续两次考试数学都占了比较大的比重,所以我非常幸运的得以发挥我的优势(也许是优势吧,反正数学里基本没 ...
- [考试反思]0714/0716,NOIP模拟测试3/4
这几天时间比较紧啊(其实只是我效率有点低我在考虑要不要坐到后面去吹空调) 但是不管怎么说,考试反思还是要写的吧. 第三次考试反思没写总感觉缺了点什么,但是题都刷不完... 一进图论看他们刷题好快啊为什 ...
- [考试反思]1003csp-s模拟测试58:沉淀
稳住阵脚. 还可以. 至少想拿到的分都拿到了,最后一题的确因为不会按秩合并和线段树分治而想不出来. 对拍了,暴力都拍了.挺稳的. 但是其实也有波折,险些被卡内存. 如果内存使用不连续或申请的内存全部使 ...
随机推荐
- Java基础学习笔记(五) - 常用的API
API介绍 概念:API 即应用编程程序接口.Java API是JDK中提供给我们使用的类说明文档,这些类将底层的代码实现封装.无需关心这些类是如何实现,只需要学习如何使用. 使用:通过API找到需要 ...
- [Python] Python 学习记录(1)
1.概论 弱类型 一个变量能被赋值时能与原类型不同 x = 1 x = "1" #不加分号,给x赋值为int后再次赋值为string是可行的 与或非 and or not / ...
- Web应用程序并发问题处理的一点小经验
在web应用中,一个账户,会有N多个涉及到数字的字段.比如一个账户的金额,积分等.这些字段就涉及到增减的情况.如果是在测试环境下,靠程序员或者测试手动点击.一般是发现不了问题. 一旦上到正式环境下.有 ...
- Kafka安装-Linux版
1. 准备 1.1 Kafka Kafka版本采用0.10.2.1,下载0.10.2.1文件 http://kafka.apache.org/downloads 1.2 JDK JDK ...
- redis之spring应用
前言 读本文之前,需要大家对redis有所了解,大家可以去看一下我之前分享的redis安装及简单使用这一随笔,而本文我将跟大家分享学习一下redis与spring的集成.当然,首先需要打开我们的red ...
- python程序编译成exe文件
最近越来越喜欢使用python写工具.使用的时候,发现程序内部成员python安装目录常常不同,如果用bat双击执行,常常需要修改从svn上down下来的bat文件中python.exe的路径.而给策 ...
- python服务端工程师就业面试指导☝☝☝
python服务端工程师就业面试指导 由Python专业面试官打造的课,少之又少,专业代表着经验,代表着对考察点的通透理解,更代表着对你负责 第1章 Python工程师offer直通车(视频+教辅文档 ...
- 流水线机制、滑动窗口协议、GBN、SR
一.滑动窗口协议 为了解决停等操作的性能问题(发了一个分组之后一直等到确认了这个分组才发下一个),推出了流水线机制,提供资源利用率.就是允许发送方在收到对方的ACK前,发送多个分组 其中窗口是一个范围 ...
- 机器学习回顾篇(7):决策树算法(ID3、C4.5)
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- [LUOGU1437] 敲砖块
题目描述 在一个凹槽中放置了 n 层砖块.最上面的一层有n 块砖,从上到下每层依次减少一块砖.每块砖 都有一个分值,敲掉这块砖就能得到相应的分值,如下图所示. 14 15 4 3 23 33 33 7 ...