博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces - 1181B - Split a Number - 贪心
阅读量:4972 次
发布时间:2019-06-12

本文共 2634 字,大约阅读时间需要 8 分钟。

从中间拆开然后用大数搞一波。

当时没想清楚奇偶是怎么弄,其实都可以,奇数长度字符串的中心就在len/2,偶数长度字符串的中心恰好是len/2和len/2-1。

但是要是作为末尾指针的位置来说的话

奇数长度字符串:把中心分给后半串,那么分割点是len/2。把中心分给前半串,那么分割点是len/2+1。

偶数长度字符串:分割点是len/2。

注意子串的取法,其实最方便的还是传头尾指针进去。

#include
using namespace std;typedef long long ll;inline int read() { int x=0; int f=0; char c; do { c=getchar(); if(c=='-') f=1; } while(c<'0'||c>'9'); do { x=(x<<3)+(x<<1)+c-'0'; c=getchar(); } while(c>='0'&&c<='9'); return f?-x:x;}inline void _write(int x) { if(x>9) _write(x/10); putchar(x%10+'0');}inline void write(int x) { if(x<0) { putchar('-'); x=-x; } _write(x); putchar('\n');}struct BigInt { const static int mod=10000; const static int DLEN=4; int a[30005],len; BigInt() { memset(a,0,sizeof(a)); len=1; } BigInt(int v) { memset(a,0,sizeof(a)); len=0; do { a[len++]=v%mod; v/=mod; } while(v); } BigInt(const char *s) { memset(a,0,sizeof(a)); int L=strlen(s); len = L/DLEN; if(L%DLEN) len++; int index=0; for(int i=L-1; i>=0; i-=DLEN) { int t=0; int k=i-DLEN+1; if(k<0) k=0; for(int j=k; j<=i; j++) t=t*10+s[j]-'0'; a[index++] = t; } } BigInt operator+(const BigInt &b)const { BigInt res; res.len=max(len,b.len); for(int i=0; i
0) res.len++; return res; } BigInt operator*(const BigInt &b)const { BigInt res; for(int i=0; i
1) res.len--; return res; } bool operator>(const BigInt &b)const { if(len>b.len) return true; else if(len==b.len) { int ln=len-1; while(a[ln]==b.a[ln]&&ln>=0) ln--; if(ln>=0&&a[ln]>b.a[ln]) return true; else return false; } else return false; } void output() { printf("%d",a[len-1]); for(int i = len-2; i >=0 ; i--) printf("%04d",a[i]); printf("\n"); }};char s[100005];char t[100005];int main() {#ifdef Yinku freopen("Yinku.in","r",stdin); //freopen("Yinku.out","w",stdout);#endif // Yinku int l; scanf("%d%s",&l,s); int m1=l/2; int m2=l/2+1; int h1=m1; while(s[h1]=='0') h1--; int h2=m2; while(h2
c2) c2.output(); else c.output();}

转载于:https://www.cnblogs.com/Yinku/p/11033060.html

你可能感兴趣的文章
Java Swing提供的文件选择对话框 - JFileChooser
查看>>
排序:冒泡排序
查看>>
github下载安装
查看>>
Hat’s Words
查看>>
Java中instanceof关键字的用法总结
查看>>
引用类型-Function类型
查看>>
Nginx Configuration 免费HTTPS加密证书
查看>>
(转)Android 仿订单出票效果 (附DEMO)
查看>>
数据库多张表导出到excel
查看>>
微信小程序去除button默认样式
查看>>
11/26
查看>>
Where does Visual Studio look for C++ Header files?
查看>>
Java打包可执行jar包 包含外部文件
查看>>
Docker容器运行ASP.NET Core
查看>>
WPF图片浏览器(显示大图、小图等)
查看>>
.Net码农学Android---系统架构和基本概念
查看>>
Windows Phone开发(37):动画之ColorAnimation
查看>>
DevExpress的Web控件汉化方法
查看>>
js中escape,encodeURI,encodeURIComponent 区别(转)
查看>>
结对编程项目-四则运算整体总结
查看>>