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

专业网站建设公司怎么选做公益网站的目的

专业网站建设公司怎么选,做公益网站的目的,黄山自驾游旅游攻略,房地产网站开发A.根据题意模拟即可 B.根据题意模拟即可 C.直接用map 进行dp即可 D.用前缀和进行模拟#xff0c;用map统计前缀和#xff0c;每次计算当前前缀和-k的个数就是以当前点为右端点答案。 E - Σ[k0..10^100]floor(X#xff0f;10^k) (atcoder.jp) #xff08;1#xff09;…A.根据题意模拟即可 B.根据题意模拟即可 C.直接用map 进行dp即可 D.用前缀和进行模拟用map统计前缀和每次计算当前前缀和-k的个数就是以当前点为右端点答案。 E - Σ[k0..10^100]floor(X10^k) (atcoder.jp) 1题意 2思路 手动推一下这个东西就会发现其实每一位上的贡献等于这一位后面的所有数加起来因此做一个后缀和即可。 3代码 #include bits/stdc.h #define rep(i,z,n) for(int i z;i n; i) #define per(i,n,z) for(int i n;i z; i--) #define PII pairint,int #define fi first #define se second #define vi vectorint #define vl vectorll #define pb push_back #define sz(x) (int)x.size() #define all(x) (x).begin(),(x).end() using namespace std; using ll long long; const int N 5e5 10; ll Ans[N],suf[N]; void solve() {string x;cin x;reverse(all(x));for(int i sz(x) - 1;i 0;i --) suf[i] suf[i 1] (x[i] - 0);for(int i 0;i sz(x);i ) {Ans[i] suf[i]; } for(int i 0;i 500001;i ) {Ans[i 1] Ans[i] / 10;Ans[i] % 10;}int r 500001;while(Ans[r] 0) r --;while(r 0) cout Ans[r --]; } int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int T 1;// cin T;while(T --) solve();return 0; } F - Swap and Sort (atcoder.jp) 1题意 有一个排列P给出M组交换关系第i组swap(Pai,Pbi)问是否有可能可以使P不降。 2思路 首先若i和P[i]不在一个连通块则一定不会交换成功然后考虑如何交换对于度数为1的点说明我们此时交换掉他并且不会影响后继因此满足拓扑排序那么我们直接根据拓扑排序进行交换即可。 3代码 #include bits/stdc.h #define rep(i,z,n) for(int i z;i n; i) #define per(i,n,z) for(int i n;i z; i--) #define PII pairint,int #define fi first #define se second #define vi vectorint #define vl vectorll #define pb push_back #define sz(x) (int)x.size() #define all(x) (x).begin(),(x).end() using namespace std; using ll long long; const int N 2e5 10; struct DSU {vectorint f,siz;int n;DSU(int _n) {n _n;f.resize(n 1);siz.resize(n 1,1);iota(f.begin(),f.end(),0);}inline int find(int x) {if(x f[x]) return x;return f[x] find(f[x]);}inline bool same(int x,int y) {x find(x),y find(y);return x y;}inline void merge(int x,int y) {if(same(x,y)) return ;x find(x),y find(y);siz[y] siz[x];f[x] y;}//目前连通块个数inline int connect() {int res 0;for(int i 1;i n;i ) {res (i find(i));}return res;}//求某一个联通块得大小inline int count(int x) {x find(x);return siz[x];} }; int p[N],deg[N]; vectorPII e[N]; vectorint ans; inline bool dfs(int u,int f,int tar) {if(u tar) return true;for(auto [v,id]: e[u]) {if(v f) continue;if(dfs(v,u,tar)) {swap(p[u],p[v]);ans.pb(id);return true;}}return false; } void solve() {int n;cin n;rep(i,1,n) cin p[i];DSU dsu(n);int m;cin m;rep(i,1,m) {int u,v;cin u v;if(!dsu.same(u,v)) {dsu.merge(u,v);e[u].pb({v,i});e[v].pb({u,i});deg[u] ,deg[v] ;}}queueint q;rep(i,1,n) {if(!dsu.same(i,p[i])) {cout -1 \n;return;}if(deg[i] 1) q.push(i);}while(!q.empty()) {int v q.front();q.pop();int tar 0;for(int i 1;i n;i ) {if(p[i] v) {tar i;break;}}if(!dfs(v,0,tar)) {cout -1 \n;return;}for(auto [u,id]: e[v]) {if(-- deg[u] 1) q.push(u);}}cout sz(ans) \n;for(auto x : ans) cout x ; } int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int T 1;// cin T;while(T --) solve();return 0; } G - Strongest Takahashi (atcoder.jp) 1题意 给你一个N*N的矩形里面#代表的是障碍.不是障碍你每次可以选择一个D*D的矩形把里面的障碍清除掉会花费D问你把N*N的障碍全部清除掉的最小花费是多少。 2思路 很明显的一个思路是这个可以分治进行dp考虑dp[l1][r1][l2][r2]表示消除[l1-l2][r1-r2]这个矩形的最小花费我们每一次可以枚举横着切下去还是竖着切下去就行或者整个是正方形也可以直接清除取个最小花费即可。 3代码 #include bits/stdc.h #define rep(i,z,n) for(int i z;i n; i) #define per(i,n,z) for(int i n;i z; i--) #define PII pairint,int #define fi first #define se second #define vi vectorint #define vl vectorll #define pb push_back #define sz(x) (int)x.size() #define all(x) (x).begin(),(x).end() using namespace std; using ll long long; const int N 55; int dp[N][N][N][N],s[N][N]; string mp[N]; const int inf 0x3f3f3f3f; int get(int x1,int y1,int x2,int y2) {return s[x2][y2] - s[x1 - 1][y2] - s[x2][y1 - 1] s[x1 - 1][y1 - 1]; } inline int dfs(int x1,int y1,int x2,int y2) {if(dp[x1][y1][x2][y2] ! -1) return dp[x1][y1][x2][y2];if(get(x1,y1,x2,y2) 0) return dp[x1][y1][x2][y2] 0;int mi inf;for(int i x1 1;i x2;i ) {mi min(mi,dfs(x1,y1,i - 1,y2) dfs(i,y1,x2,y2));}for(int i y1 1;i y2;i ) {mi min(mi,dfs(x1,y1,x2,i - 1) dfs(x1,i,x2,y2));}if(x2 - x1 y2 - y1) mi min(mi,x2 - x1 1);return dp[x1][y1][x2][y2] mi; } void solve() {int n;cin n;memset(dp,-1,sizeof(dp));rep(i,1,n) {cin mp[i];mp[i] mp[i];rep(j,1,n) s[i][j] s[i - 1][j] s[i][j - 1] (mp[i][j] #) - s[i - 1][j - 1];}cout dfs(1,1,n,n); } int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int T 1;// cin T;while(T --) solve();return 0; } Ex - Manhattan Christmas Tree (atcoder.jp) 1题意 二维平面上有N棵圣诞树第i棵位于[xi,yi]要回答一下Q个问题第i个问题是以曼哈顿距离为单位(ai,bi)和距离该点最近的Ki棵圣诞树之间的距离是多少 2思路 考虑曼哈顿距离不好进行计算因此转换成切比雪夫距离源坐标系上(x,y)的曼哈顿距离等价于新坐标系上xy,x-y)的切比雪夫距离补充源坐标系上(x,y)的切比雪夫距离等价于新坐标系上,)的曼哈顿距离看着切比雪夫距离我们很容易想到直接二分距离问题转变这个矩形平面内有多少点也就是二维数点问题因为点不是很稠密我们考虑直接动态开点二维树状数组。 3代码 #include bits/stdc.h #define rep(i,z,n) for(int i z;i n; i) #define per(i,n,z) for(int i n;i z; i--) #define PII pairint,int #define fi first #define se second #define vi vectorint #define vl vectorll #define pb push_back #define sz(x) (int)x.size() #define all(x) (x).begin(),(x).end() using namespace std; using ll long long; const int N 5e5 10; vectorint ver[N 1]; inline int lowbit(int x) {return x (-x); } inline void add(int x,int y) {x N,y N;if(!y) y 1;while(y 2 * N) {ver[y].pb(x);y lowbit(y);} } inline int get(int y,int x1,int x2) {int Ans 0;y N,x1 N,x2 N;if(y 2 * N) y 2 * N - 1;while(y 0) {Ans upper_bound(all(ver[y]),x2) - lower_bound(all(ver[y]),x1);y - lowbit(y);}return Ans; } inline int query(int x1,int y1,int x2,int y2) {return get(y2,x1,x2) - get(y1 - 1,x1,x2); } void solve() {vectorPII point;int n;cin n;rep(i,1,n) {int x,y;cin x y;point.pb({x y,x - y});}sort(all(point));for(auto [x,y]: point) add(x,y);int q;cin q;while(q --) {int x,y,k;cin x y k;int z x;x z y,y z - y;int l 0,r N;while(l r) {int m (l r) 1;if(query(x - m,y - m,x m,y m) k) l m 1;else r m - 1;}cout l \n;} } int main() {ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);int T 1;// cin T;while(T --) solve();return 0; }
http://www.dnsts.com.cn/news/101766.html

相关文章:

  • cms企业网站模板怎么让人理解网站建设
  • 学院网站源码三门峡市住房建设局网站
  • 政协系统网站建设浏览有关小城镇建设的网站记录
  • 湛江优化网站排名seo入门书籍推荐
  • 网站页面优化技巧网站建设商城建设
  • 中英文网站用同域名人力资源公司是中介吗
  • 重启 iis 中的网站广东网站建设需要多少钱
  • 网站404做多大北京网站制作公司电话
  • 网站开发中的抓包工具输入网站查看空间
  • 珠海网站设计培训黑马程序员培训机构官网
  • 平乡县网站建设平台三门峡网站seo
  • cms网站开发毕设网站建设方案选择实现方式
  • 网站服务器是干什么的建设局招聘条件
  • 那个网站做问卷好电商网站开发周期
  • 六安网站排名优化电话企业网站内容以及功能模块规划的依据有哪些
  • 建设网站的技巧金融网站建设公司排名
  • 我想建一个网站怎么建wordpress 评论go跳转
  • 企业网站建设多长时间网页版微信二维码不出来
  • 网站开发线上眉山建网站
  • 织梦网站程序北京高端it网站建设
  • vps主机怎么建设网站asp.net 怎样生成网站
  • 网站开发需要的准备现在进入西安最新通知
  • 有网站专门做效果图佛山网站制作外包
  • 网站换域名了怎么办seo番禺网站制作价格
  • 一百互联网站建设wordpress社交媒体优化
  • 给了几张图让做网站专门做商标的网站有哪些
  • 广东省网站备案wordpress 主题木马
  • 肇庆市专注网站建设平台企业做网站的痛点有哪些
  • seo与网站建设的关联wordpress 积分标签
  • 芜湖市建设工程质监站网站比较好的海报设计网站