关闭

hdu 1230 perals

主题思想: 动态规划:动态规划,下标一般从1开始。 下面是状态转移方程的思考过程。 首先dp数组存放最小值,一般求什么dp数组放什么。 那么dp数组是一维还是二维的呢? dp[i][j] 表示前j个perals类中买共分i个类买的。这样想起来很麻烦。令dp[i]表示,前i个类全部买第i个类。 所以初始化:dp[i]=(sum[i]+10)*p[i];dp[i] 可以优化, 即前i个类,一...
阅读(12) 评论(0)

hdu 1299

主题思想: 核心技术点是,求一个数的素因子个数。 x 、y、n都是正整数,并且 显然,x >= n , y >= n ,现在假设 y = n +k (k为正整数) ,那么带入公式,可以得出 x = (n*(n+k))/k = n*n/k + n; 由于x 是正整数,现在的关键问题就是要求出 n*n/ k 有多少组正整数的可能,显然,所要求的就是 n*n 因子的个数// 问题已经非常接近答案了,但是...
阅读(10) 评论(0)

多线程同步相关

CAS compare and swap 处理器支持的指令。是原子的。 此指令是以字节为单位的。同时处理器实现的原子指令还有 FAA fetch and add Test and set Test-Test and set...
阅读(11) 评论(0)

hdu 1298 T9

主题思想: Tires 和dfs ,读懂题意, 单词频度可以累加。这是正确创建Tries的关键。 然后用dfs遍历,求出最大频度的组合。然后输出。参考博客:http://blog.csdn.net/cambridgeacm/article/details/7757208AC代码:#include #include #include #i...
阅读(12) 评论(0)

GC之开篇

GC算法评价标准: 在mutator的整个执行过程中 1. 吞吐量 : 堆大小除以GC总时间 2. 最大暂停时间: 最大的GC时间 3. 堆使用效率: GC使用堆的效率 4. 访问局限性: 空间局限性,时间局限性。 寄存,缓存,内存,辅助存储4级存储器。...
阅读(77) 评论(0)

运行时数据区

java 虚拟机定义了若干种程序运行期间会使用到的运行时数据区。 其中一些随着虚拟机启动而创建,随着虚拟机退出而销毁。 另一些是跟线程一一对应,随着线程开始和结束而创建和销毁。 1. PC寄存器:与线程相关,每一个虚拟机线程都有自己的PC寄存器2. java栈java虚拟机栈,与线程相关,每个线程都有自己私有的虚拟机栈,与线程同时创建。用于存储栈帧,存储局部变量,一些尚未算好的结果,用于方法的调用和...
阅读(27) 评论(0)

用数组模拟大数加法模板

void F(){ f[1][0]=1; f[2][0]=2; f[3][0]=4; f[4][0]=7; int t=0; // 核心代码: for(int i=5;i<maxn;i++){ t=0; for(int j=0;j<105;j++){ t=f[i-1][j]+f[i-2][...
阅读(26) 评论(0)

hdu 1297 Children’s Queue

主题思想: 首先推导出递推公式,F(n)=F(n-1)+F(n-2) +F(n-4)然后主要是用数组模拟大数加法,代码简洁,写起来比较快。数组模拟大数加法模板: void F(){ f[1][0]=1; f[2][0]=2; f[3][0]=4; f[4][0]=7; int t=0; for(int i=5;i<maxn;i++){...
阅读(19) 评论(0)

hdu 1293 The Number of Paths

主题思想: 数学题,递推公式推导,加大数加法, 大数加法,有两种思路: 一是,利用字符串模拟每一位,二是,利用int数组,用一个int表示多位数。 比如用一个int表示4位。代码如下:void F(){ memset(a,0,sizeof(a)); a[1][0]=3; a[2][0]=7; int t=0; for(int i=3;i<=1000;i++)...
阅读(22) 评论(0)

hdu 1292 下沙ACM夏令营

主题思想: 动态规划。可以理解为i个人分为j组,另dp[i][j] 表示i个人,分成j组, 那么i个人,可以由i-1个人组成j-1组,第i个人独立成组,也可以i-1个人组成j组,第i个人加到j组中的一个。 则状态转移方程:dp[i][j]=dp[i-1][j-1]+dp[i-1][j]*jAC代码:include includeincludeusing namespace std;const in...
阅读(17) 评论(0)

hdu 1290 切蛋糕

主题思想: 数学题。 这种题一般是有通项公式的,如果是平面,一般是 a*n^2+b*n+c ,如果是立体空间 ,一般是a*n^3+b*n^2+c*n+d。 可以采用待定系数法进行求解。由这道题很容易想到一个简单的题目。即n条线能把平面最多分为几块。f(n)=f(n-1)+ n;最后通项公式是 f(n)=(n+1)*n/2+1;如果是立体的。g(n)=g(n-1)+f(n-1) 递推得到...
阅读(16) 评论(0)

hdu 1288 Hat's Tea

主题思想: 贪心。思路如下: 如果总金额小于茶的价格,或者茶能被5角支付剩下来的零钱大于1角的个数(此时只能用1角支付),或者茶能被10角支付剩下来的钱大于5角和1角的总和,则不能支付。 能被支付的必然满足,零头能被满足。 接下来用1角支付, 如果1角的总和大于茶的价格,则能支付。1角不能完全支付,则,尽可能多的用1角,即除了用1角支付5角剩下的零头,如果剩下来1角的钱能替换5 角,就用5个...
阅读(19) 评论(0)

hdu 1286 找新朋友,欧拉函数

主题思想: 欧拉公式的使用。 欧拉公式是指求一个数n,从[1,n-1] 中与n互质的个数。欧拉函数Euler(n)= n*(1-1/p(1))(1-1/p(2)) …(1-1/p(n)) p(1),p(2),p(n) ,是n的质数因子。欧拉公式int Euler(int n){ int ans=n; for(int i=2;i*i<=n;i++){ if(n%i...
阅读(24) 评论(0)

hdu 1285 确定比赛名次

主题思想: 拓扑排序。 拓扑排序的方法:1. 根据顶点入度进行计算,首先选取入度为0的节点,然后,去掉入度为0的顶点以及它出发的所有边。直到所有找到所有顶点。2.还有一种dfs的方法,根据dfs完成的顺序,把先完成的节点加入栈,最后出栈就是拓扑排序序列,即拓扑排序序列与dfs先完成的节点顺序相反。对于本题,我采用第一种方法。本题应采用邻接表表示图,并且记录已经输入的边,如果重复,则不再增加入度。题...
阅读(21) 评论(0)

hdu 1284 钱币兑换

主题思想 : 这题有两种主流思路: 母函数方法,和动态规划方法。先说母函数方法,母函数方法,模拟多项式乘法,这里,有个技巧就是,利用数组下标表示多项式指数。 模拟 (1+x+x^2+x^3+x^4+…)(1+x^2+x^4+x^6+…)(1+x^3+x^6+x^9+…) 由于是n是有限制的,所以开辟n+1大小的数组,模拟乘法。int a[maxn]; int b[maxn]; f...
阅读(27) 评论(0)
205条 共14页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:23869次
    • 积分:2166
    • 等级:
    • 排名:第18553名
    • 原创:197篇
    • 转载:8篇
    • 译文:0篇
    • 评论:2条
    最新评论