当前位置: 首页 > news >正文

11_15

11_15做题总结

今天来讲两个题目,一个是昨天的D1,一个是自己找的D4的E

D1

序列一开始从1到1e12

输入x,y,k做x次操作,然后找到每次在数列中删掉下标是y的倍数的数,求操作完之后第k号数

先特判,如果y=-1或者暴力的边更新边删完x次n/y后n<k,那么就输出-1

否则从最后一次反解出第k号元素的初始值

令新元素B是A删完A/y后的第k号数

A=q*y+r

B=A-q

所以B=q*(y-1)+r

这个时候就要对r分情况讨论了

如果r=y-1,即x整除y-1,(因为r不可能=0,否则A不存在)

此时q=B/(y-1)-1,A=B+[B/(y-1)]-1

如果r不等于y-1,即x不整除y-1那么q=B/(y-1),r=A%(y-1),A=B+[B/(y-1)]

综合一下,A=B+[(B-1)/(y-1)],涵盖了两种情况,这里很神

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
#define vi vector<int> 
#define pb push_back 
#define pii pair<int,int>
#define endl '\n'
const int INF=1e18,N=2e5,MOD=1e9+7;void solve(){int x,y,k;cin>>x>>y>>k;if(y==1){cout<<-1<<endl;return ;}int n=1000000000000;for(int i=0;i<x;i++){n=n-n/y;}if(k>n){ cout<<-1<<endl;return ;}int ans=k;for(int i=0;i<x;i++) ans=ans+(ans-1)/(y-1);cout<<ans<<endl;
}signed main(){ios::sync_with_stdio(false);cin.tie(0);int T=1;cin>>T;while(T--)solve();return 0;
}

E

一棵树,枚举每个点作为根节点时,求任意k个点形成的LCA的种数.输出每个点作为根节点时的和

其实不需要求LCA,每次找一棵根节点是i的子树,找树里面的k-1ge3点和它自己作为集合,这个集合的LCA就是i,如果根节点是子树外面的话,///其实如果根节点在里面也可以这样算,只不过答案加的值要变换一下

#include<bits/stdc++.h>
using namespace std;
#define int long long
#define ll long long
#define vi vector<int> 
#define pb push_back 
#define pii pair<int,int>
#define endl '\n'
const int INF=1e18,N=2e5,MOD=1e9+7;
vector<int>g[N+5];
int sz[N+5];
void dfs(int u,int fa){for(int v:g[u]){if(v!=fa){dfs(v,u);sz[u]+=sz[v];}}
}void solve(){int n,k;cin>>n>>k;memset(sz,0,sizeof(sz));for(int i=0;i<=n;i++) g[i].clear();for(int i=0;i<n-1;i++){int u,v;cin>>u>>v;g[u].pb(v);g[v].pb(u);}for(int i=0;i<=n;i++) sz[i]=1;dfs(1,0);int ans=0;for(int i=1;i<=n;i++){if(sz[i]>=k) ans+=n-sz[i];if(n-sz[i]>=k) ans+=sz[i];}cout<<ans+n<<endl;
}signed main(){ios::sync_with_stdio(false);cin.tie(0);int T=1;cin>>T;while(T--)solve();return 0;
}
http://www.gsyq.cn/news/50720.html

相关文章:

  • 业财一体化五步法 - 智慧园区
  • spiffworkflow
  • 多项式牛顿迭代
  • Vibe coding All In One
  • 多项式复合逆与拉格朗日反演
  • Day21浮动
  • KEYDIY KD B12-3 3-Button Ford Flip Key Remote - 5pcs/lot (Replacement for Ford Vehicles)
  • 2025.11.15 测试
  • 鸿蒙应用审核被拒?常见原因与避坑指南来了
  • 20232306 2025-2026-1 《网络与系统攻防技术》实验五实验报告
  • ABC432E sol
  • 完整教程:linux离线环境局域网远程ssh连接vscode
  • 01命题逻辑的基本概念
  • 第26天(简单题中等题 二分查找、贪心算法)
  • DAY1 JAVA PreLearning
  • 【服务器】服务器被攻击植入了挖矿病毒,CPU一直占用100%,@monthly /root/.cfg/./dealer病毒清除 - 实践
  • Python 异常处理全面详解(附丰富实例)
  • IServiceCollection和IServiceProvider
  • 完整教程:Redis 事务机制:Pipeline、ACID、Lua脚本
  • 斐波那契数列相关恒等式
  • Python 文件操作全面详解:从基础到进阶(附丰富实例)
  • 银行中外汇的由来(金融产品经理必读)
  • 云服务器部署Python后端偶遇`ImportError`: 从依赖版本到Python升级的排错全攻略 - 实践
  • AI元人文:悟空继续追问
  • 关于梯形波叠加三角波的电磁波对宇宙射线的电磁感应的分析
  • 20251115 - Hash
  • 记录一次Windows复制粘贴不正常的情况
  • apache和nginx解析php和lnmp和lamp搭建
  • 跨域问题解决方案汇总
  • 详细介绍:像素退场,曲线登场:现代响应式 CSS 全家桶 | 领码课堂