【P1203】买花
我先在已经弱到连高精乘单精都能写错的地步了QAQ
原题:
求一个小于等于N的数M,使得phi(M)/M最小,
其中phi(M)是与M互质且比M小的数的个数。
例如phi(4)=2,因为1,3和4互质。
N<=10^40
先推欧拉函数打表,发现答案一定是乘积<=m的前k个质数的乘积(比如50的答案就是2*3*5<=50)
然后就是高精水体
然而我写了2h QAQ,果然实力是会随着时间的推移降低的QAQ
主要错误就是关于乘出来结果的长度的问题,这个长度要在a[i]>=10往后推得时候变推边更新,不能先全部算完了再更新,因为推完后可能会因为%=10而出现中间有0的情况,这时候推长度推到这里就断了,但是边推边更新就不会出现这种情况,因为还没%=10,不会==0
我好弱啊QAQ
代码:
#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;
void read_big(int *x,int &lx){lx=; char ch=getchar();
while(ch<''||ch>'') ch=getchar();
while(ch>=''&&ch<=''){ x[++lx]=ch-''; ch=getchar();}
}
int n[],ln;
int a[],la,b[],lb,c[];
bool kang[]; int zhi[],ztop=;
void shai(){
memset(kang,,sizeof(kang));
for(int i=;i<=;i++)if(!kang[i]){
zhi[++ztop]=i;
int temp=; while(i*(temp+)<=) kang[i*(++temp)]=true;
}
}
bool bi(int *x,int lx,int *y,int ly){
if(lx!=ly) return (lx>ly);
for(int i=lx;i>=;i--)if(x[i]!=y[i]) return (x[i]>y[i]);
return false;
}
void cheng(int *x,int &lx,int y){
for(int i=;i<=lx;i++) x[i]*=y;
for(int i=;i<=lx;i++) x[i+]+=x[i]/,x[i]%=;
for(;a[lx+];lx++) x[lx]+=x[lx]/,x[lx]%=;
}
int main(){//freopen("ddd.in","r",stdin);
shai();
read_big(c,ln);
for(int i=ln;i>=;i--) n[i]=c[ln-i+];
a[la=]=;
for(int i=;i<=;i++){
lb=la;
for(int j=;j<=lb;j++) b[j]=a[j];
cheng(a,la,zhi[i]);
if(bi(a,la,n,ln)){ for(int j=lb;j>=;j--)cout<<b[j]; cout<<endl; return ;}
}
return ;
}
【P1203】买花的更多相关文章
- P1203 [USACO1.1]坏掉的项链Broken Necklace
P1203 [USACO1.1]坏掉的项链Broken Necklace不错的断环为链的模拟题,开成三倍,有很多细节要考虑,比如总长度要<=n,开头第一个是w等等. #include<bi ...
- 【P1203】 【USACO1.1】坏掉的项链Broken Necklace
P1203 [USACO1.1]坏掉的项链Broken Necklace 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 ...
- P1203 [USACO1.1]Broken Necklace(模拟-枚举)
P1203 [USACO1.1]坏掉的项链Broken Necklace 题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 ...
- P8548 小挖的买花 方法记录
原题链接 小挖的买花 题目背景 小挖喜欢买花,但是 ta 太懒了!所以这个任务全权交给了你. 题目描述 花店里只有 \(n\) 株花,每一株花都有三个属性:价格 \(cost_i\).美丽度 \(be ...
- 洛谷P1203 [USACO1.1]坏掉的项链Broken Necklace
题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 n=29 的二个例子: 第一和第二个珠子在图片中已经被作记号. 图片 A ...
- 洛谷 P1203 [USACO1.1]坏掉的项链Broken Necklace
坏掉的项链Broken Necklace 难度:★ Code: #include <iostream> #include <cstdio> #include <cstri ...
- AC日记——[USACO1.1]坏掉的项链Broken Necklace 洛谷 P1203
题目描述 你有一条由N个红色的,白色的,或蓝色的珠子组成的项链(3<=N<=350),珠子是随意安排的. 这里是 n=29 的二个例子: 第一和第二个珠子在图片中已经被作记号. 图片 A ...
- 题解 P1203 【[USACO1.1]坏掉的项链Broken Necklace】
[USACO1.1]坏掉的项链Broken Necklace 22892 破碎的项链 方法一:很容易想到枚举断点,再分别两头找,但是要注意很多细节 #include<iostream> # ...
- [LuoguP1203][USACO1.1]P1203 Broken Necklace
Solution 这道题数据规模奇小,因此大部分人都使用了暴力搜索的方法,这也是我一开始的想法. 对于 100100%100 的数据,3≤n≤3503≤n≤3503≤n≤350 的确可以如此,但暴力搜 ...
随机推荐
- win8系统 host文件无法修改解决之道
host文件,路径为:C:\windows\system32\drivers\etc\hosts 方法/步骤: 方法1:用notepad++打开host文件,修改和保存 方法2:(1)首先用管理管权限 ...
- Connection to http://www.google.com:80 refused
使用SDK Manager更新时出现问题 Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-6.x ...
- php大力力 [028节] 如何下载js文件,网上一个*.js无法下载啊??????
php大力力 [028节] 如何下载js文件,网上一个*.js无法下载啊?????? safari也无法下载 迅雷也无法下载 是不是对方网站服务器的不让下载那个js目录的文件??? 只能调用js函数啊 ...
- 爬虫学习----pattern
1.match match(string[, pos[, endpos]]) | re.match(pattern, string[, flags]): 这个方法将从string的pos下标处起尝试匹 ...
- CSS样式选择器
<!-- css样式选择器 HTML选择器 类选择器 ID选择器 关联选择器 组合选择器 伪元素选择器 selector{ /* selector是样式选择器 property:value; / ...
- jQuery基础学习笔记(1)
--------2.0以上版本体积更小. --------CDN 内容分发网络(Content delivery network或Content distribution network,常简写成C ...
- 8、C#基础整理(数组和冒泡排序)
数组 概念:定义一组同类型的指定个数的变量,索引从0开始 例: ];//定义一组有10个数据的数组 shuname[] = ; Console.WriteLine(shuname[]);//打印出1 ...
- FTP服务器移动文件目录
已经可以移动文件了,原因是路径问题.还是用的Rename方法.原因是RenameTo=“”;这里的路径之前没包含文件名,而且相对路径和绝对路径都没弄对,所以之前一直不相信别人说的Rename可以移动文 ...
- 【转】为什么我要用 Node.js? 案例逐一介绍
原文转自:http://blog.jobbole.com/53736/ 介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样, ...
- URl中文转ASCII
编码 System.Web.HttpUtility.UrlEncode("中国", System.Text.Encoding.GetEncoding("GB2312&qu ...