UVA - 12166 Equilibrium Mobile
生活随笔
收集整理的這篇文章主要介紹了
UVA - 12166 Equilibrium Mobile
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*
題目鏈接:
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3318
要點:
我覺得,這題主要是考察思維,而不是考察技巧
當然,還是有一點點技巧的,就是不用這個就會有些麻煩,比如map 的巧妙應用,就算是一個技巧
其實這題的思路也比較巧,就是對每個葉子結點,按照其深度,來推出如果以該葉子結點為基準,整棵樹的質量
然后便能統計出每種總重量,各由多少個葉子結點推出,我們選最多的那個總重量,來保證需要修改的葉子最少
本題的巧妙之處就在于,只要以深度為depth(depth從0開始)重量為w的砝碼為基準,那么就能求出整個天平的總重量,即w*2^(depth),在代碼中可以簡潔地表示為w<<depth。這樣,我們只用統計每個可能的總重量對應了多少不需要改動的砝碼,設一共有sum個砝碼,總重量為sumw的天平對應的砝碼個數是base[sumw],那么最終答案就是sum-max{base[i]}(i為所有可能的天平總重量)
查閱題解:
http://m.blog.csdn.net/hao_zong_yin/article/details/73028817
http://blog.csdn.net/u013555159/article/details/51356003
http://blog.csdn.net/crazysillynerd/article/details/43876123
http://www.bubuko.com/infodetail-714729.html
題目鏈接:
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3318
要點:
我覺得,這題主要是考察思維,而不是考察技巧
當然,還是有一點點技巧的,就是不用這個就會有些麻煩,比如map 的巧妙應用,就算是一個技巧
其實這題的思路也比較巧,就是對每個葉子結點,按照其深度,來推出如果以該葉子結點為基準,整棵樹的質量
然后便能統計出每種總重量,各由多少個葉子結點推出,我們選最多的那個總重量,來保證需要修改的葉子最少
本題的巧妙之處就在于,只要以深度為depth(depth從0開始)重量為w的砝碼為基準,那么就能求出整個天平的總重量,即w*2^(depth),在代碼中可以簡潔地表示為w<<depth。這樣,我們只用統計每個可能的總重量對應了多少不需要改動的砝碼,設一共有sum個砝碼,總重量為sumw的天平對應的砝碼個數是base[sumw],那么最終答案就是sum-max{base[i]}(i為所有可能的天平總重量)
查閱題解:
http://m.blog.csdn.net/hao_zong_yin/article/details/73028817
http://blog.csdn.net/u013555159/article/details/51356003
http://blog.csdn.net/crazysillynerd/article/details/43876123
http://www.bubuko.com/infodetail-714729.html
*/
/*
? 而貼出的其他題解鏈接,基本上都是用bfs的思路,也即:
??
? 在每次出現逗號,且深度相對參數為0時(注意,這個地方有點奇妙,深度不是真正為0,而只是相對參數為0),將樹分為左子樹和右子樹
??
? 然后再對左右子樹按照這樣的思路來遞歸,直到這個參數表示的范圍內,找不到任何 "[",或是"]",或是","?
? 此時就說明,我們已經把該參數范圍里的所有特殊符號剔除,剩下的范圍可以表示一個葉子,我們就可以求葉子的重量,再結合其深度,推出根節點位置的重量
??
? 其他的思路,與上一種思路基本一致
*/
轉載于:https://www.cnblogs.com/mofushaohua/p/7789350.html
總結
以上是生活随笔為你收集整理的UVA - 12166 Equilibrium Mobile的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: easyui tree:根据属性格式化树
- 下一篇: Base64编码算法